在我的C程序中,我收到如下输入:
1,2,5,13,18
如何将此字符串转换为实际数字?
我试过了strtok()
,但它给了我分段错误,我不明白为什么,也许你可以帮我解决这个问题?
答案 0 :(得分:1)
您尚未在此处提供代码,可能是您没有以正确的方式使用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;
}