gpt4 book ai didi

C - 使用 strtok

转载 作者:太空宇宙 更新时间:2023-11-04 04:35:49 25 4
gpt4 key购买 nike

我使用 strtok 从 txt 中仅获取“int”。

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

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

我该如何处理?

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

最佳答案

你问的问题好像不是很清楚。

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

  • 变量 i、x 和 y 似乎是全局变量(它们是 int 吗?),因为它们没有在代码块中声明,但它们接收由 atoi() 数组提供的 int 值到整数。除此之外,某些行可能具有三个以上的值。

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

  • 您正在处理 fgets() 读取的行,然后验证是否未到达文件末尾。

关于C - 使用 strtok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com