C 如何从txt文件中读取数据?

C 如何从txt文件中读取数据?,c,C,我有一个.txt文件 “/a.out,file.txt,/a.out2,file2.txt” 如何存储“/a.out”、“file.txt”、“/a.out”和“file2.txt” 我试图使用fgets()和sscanf() [但如果我把它们打印出来,我会将整个内联内容读入char*a]请看下面的问题,了解如何将文件读入字符串:。然后可以使用带分隔符“,”的strntok()%s读取以空格分隔的字符串。请改为使用逗号分隔的%[^,]。另外,在假设所有4个字符串都已实际填充之前,请确保检查ssc

我有一个.txt文件 “/a.out,file.txt,/a.out2,file2.txt”

如何存储“/a.out”、“file.txt”、“/a.out”和“file2.txt”

我试图使用fgets()和sscanf()


[但如果我把它们打印出来,我会将整个内联内容读入char*a]

请看下面的问题,了解如何将文件读入字符串:。然后可以使用带分隔符“,”的strntok()

%s
读取以空格分隔的字符串。请改为使用逗号分隔的
%[^,]
。另外,在假设所有4个字符串都已实际填充之前,请确保检查
sscanf
的返回值。如果
fgets()
正在填充
buffer
,为什么要扫描
line
?关于:
sscanf(line,%s,%s,%s\n”,a,b,c,d)1)始终检查返回值(而不是参数值)。除4以外的任何返回值都表明发生了错误。2) 
%s
需要具有比输入数组长度小一个的最大字符修饰符。请发布一个新的修饰符,以便我们可以重现问题并帮助您进行调试。\@user3629249 Yes,get()不再使用该语言。我开始相信,出于同样的原因,应该完全禁止使用原始的
“%s”
while (fgets(buffer, 80, fp) != NULL) {
    sscanf(line, "%s, %s, %s, %s\n", a, b, c, d);
    printf("a = %s\n", a);
    printf("b = %s\n", b);
    printf("c = %s\n", c);
    printf("d = %s\n", d);
}