从 C 语言的文本文件中读取逗号分隔值[重复]

2024-03-13

我对 C 编程非常陌生,这是作业的一部分。我正在尝试读取以下格式的逗号分隔文本文件:

 [value1], [value2]

在 C 中并尝试将它们作为 string 和 int 参数传递到函数中。我尝试过使用 sscanf() 甚至使用 fgetc() 进行操作,但没有太多帮助。事实证明,逗号后面的空格是一个问题。

Example:

 2001, 102
 1314, 78
 0410, 910
 ...

请帮帮我。

谢谢。


感谢@rubberboots 的帮助。

#include <stdio.h>
#include <string.h>

void main()
{
    FILE *fp = fopen("user.dat", "r");
    const char s[2] = ", ";
    char *token;
    int i;
    if(fp != NULL)
    {
        char line[20];
        while(fgets(line, sizeof line, fp) != NULL)
        {
            token = strtok(line, s);
            for(i=0;i<2;i++)
            {
                if(i==0)
                {   
                    printf("%s\t",token);
                    token = strtok(NULL,s);
                } else {
                    printf("%d\n",atoi(token));
                }       
            }
        }
        fclose(fp);
    } else {
        perror("user.dat");
    }   
}   

用户.dat 文件:

1000, 76

0095, 81

2910, 178

0001, 1

Output:

1000 76

0095 81

2910 178

0001 1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 C 语言的文本文件中读取逗号分隔值[重复] 的相关文章

随机推荐