【发布时间】:2019-03-31 17:00:21
【问题描述】:
我正在尝试使用 fscanf() 从 c 中的文本文件中读取名称。但是,此文件中的名称不使用空格分隔。我还能用这个函数把每个名字分开吗?
目前,该文件包含以下文本:
"MARY","PATRICIA"
当我运行以下代码时:
FILE *nameFile;
char name1[100];
char name2[100];
nameFile = fopen("names.txt","r");
fscanf(nameFile, "%s,%s", name1, name2);
printf("name 1 : %s\n name 2 :%s\n", name1, name2);
fclose(nameFile);
我得到以下输出:
name1: "MARY","PATRICIA"
name2:
有什么方法可以在文件中不包含空格的情况下将名称分开?
【问题讨论】:
-
你的意思是:喜欢使用 DFA?
-
这可能会有所帮助。它不是scanf,但无论如何我都不会用它来读取csv。 stackoverflow.com/questions/12911299/read-csv-file-in-c
-
甚至
scanf("\"%99[^\"]\"%c", name, separator);循环。