你能帮助我吗?我试图读取.txt文件中的字符串123;342;543;36.6;calm。然后使用函数atoi()比较我的值但首先我想使用strtok()我不明白这有什么问题,因为我只工作printf("%s",str);但我不能正确使用strtok()这就是为什么我没有得到我的结果。
代码:

void printInfo()
{
    int i;
    FILE *out;
    char str[250];
    char sp[10]=";";
    char *istr;
    istr=strtok(str,sp);

    if ((out =fopen("test.txt","r"))==NULL)
        printf("Error open, file\n");
    else
    {
            fgets(str,250,out);
            printf("%s",str);
            while (istr != NULL)
            {
                printf("%s",istr);
                istr=strtok(NULL,sp);
            }
    }
   fclose(out);
}

最佳答案

你的第一个电话打错地方了它必须在字符串strtok()收到有效内容之后,即str之后。
使用fgets()会更容易、更干净、更安全。

关于c - 从文件中读取并在c中使用strtok(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42163845/

10-15 04:51