C - 使用strtok

时间:2015-06-10 01:58:07

标签: c strtok

我只得到' int'来自txt使用strtok。

但是,编写的代码有一些错误。

第一行的输出是好的,但它不能转到下一行。

我该如何处理?

while (!feof(fp))

{
    fgets(buffer, 100, fp);
    printf("%s", buffer);
    num = strtok(buffer, " ,\t\n");
    i = atoi(num);
    while (num != NULL){
        printf("num = %s\n", num);
        num = strtok(NULL, ",\n");
        x = atoi(num);
        num = strtok(NULL, "\t");
        y = atoi(num);
        printf("i = %d, x = %d, y = %d\n", i, x, y);
    }
}

文本文件:

1   1,1   2,2    3,3
2   1,2   2,4    3,6   4,8
3
4   1,4
5

2 个答案:

答案 0 :(得分:0)

你提出的问题似乎并不完全清楚。

  • 如果要解析整数后跟一系列实数变量,问题是您使用的是逗号而不是点作为小数点。

  • 变量i,x和y似乎是全局的(它们是int?)因为它们没有被声明为代码块,但是它们接收atoi()-array提供给整数的int值。除此之外,一些行可能有三个以上的值。

  • 您在strtok()中使用的分隔符似乎与文本的实际分隔符不匹配。

  • 在验证尚未到达文件末尾之前,您正在处理由fgets()读取的行。

答案 1 :(得分:0)

一种修复样本的方法

$("#dropdownlist").prop("selectedIndex", 1);