在我的 C 程序中,我得到如下输入:
1,2,5,13,18
我怎样才能把这个字符串变成实际的数字?
我试过strtok()
但它给了我段错误,我不知道为什么,也许你可以帮我解决这个问题?
最佳答案
您没有在这里给出您的代码,可能是您没有以正确的方式使用strtok()
。请参阅文档并查看该页面中的示例,以了解有关 strtok()
使用的更多信息。
使用strtok()
对字符串进行标记,然后 atoi()
将字符串转换为数字。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char str[] = "1,2,5,13,18";
char* pch;
pch = strtok(str, ",");
while(pch)
{
int x = atoi(pch);
pch = strtok(NULL, ",");
printf("%d\n", x);
}
return 0;
}
关于c - 在 C 语言中,如何将包含数字的字符串转换为 int 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41538736/