gpt4 book ai didi

c - 在 C 中解析逗号分隔的文件

转载 作者:行者123 更新时间:2023-11-30 17:54:53 24 4
gpt4 key购买 nike

我正在尝试解析一个 C 语言文件,该文件由一组数字(每行一个)组成。每组之间用逗号分隔。由于某种原因,我得到了不正确的输出。

输入示例:1,2,4,8,55,777输出:一堆看起来是内存地址的东西。当我打印出字符串时,它读取的不是 55 或 777(或任何超过两位数的数字)。

int * parseFile(char *input, int *set, int line)
{
char buf[BUF_SIZE];
char *token = (char *) malloc(10 * sizeof(char));
int i;

FILE *f = fopen(input, "r");

for (i = 1; i < line; i++)
fgets(buf, BUF_SIZE, f);

memset(buf, 0, BUF_SIZE); // Clear the buffer.
i = 0;

if (fgets(buf, BUF_SIZE, f) != NULL) {
token = strtok(buf, ",");
set[i] = atoi(token);
i++;

while (set[i] != 0) {
printf("%d\n", set[i]);
set[i] = atoi(token);
i++;

token = strtok(NULL, ",");
}
}

fclose(f);

return set;
}

最佳答案

您可以使用fscanf()

在循环中使用以下fscanf(),直到到达文件末尾:

int a,b,c,d,e,x;
while (fscanf(f, " %d , %d , %d , %d, %d , %d", &a, &b, &c, &d, &e, &x) != EOF) {....}

关于c - 在 C 中解析逗号分隔的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14682266/

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