【问题标题】:read from file and use strtok() in c从文件中读取并在 c 中使用 strtok()
【发布时间】:2017-02-10 16:12:51
【问题描述】:

你能帮帮我吗?我正在尝试在 .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);
}

【问题讨论】:

    标签: c strtok


    【解决方案1】:

    您的第一个strtok() 电话打错了地方。必须在字符串str收到有效内容之后,即fgets()之后。

    使用sscanf() 会更容易、更干净、更安全。

    【讨论】:

      【解决方案2】:
      istr=strtok(str,sp);
      

      应该在你读取数据后调用

      【讨论】:

      • 诚实的CC:你需要一点更详细;你的语法也需要工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多