解析txt文件

xyl*_*n97 8 c parsing scanf

我试图解析一个包含格式名称的txt文件:

"MARY","PATRICIA","LINDA","BARBARA","ELIZABETH",...
Run Code Online (Sandbox Code Playgroud)

这是我写的代码:


#include <stdio.h>
// Names scores
int problem22() {
    FILE *f = fopen("names.txt", "r");
    char name[100];
    fscanf(f, "\"%[^\"]s", name);
    printf("%s\n", name); // MARY
    fscanf(f, "\"%[^\"]s", name);
    printf("%s\n", name); // ,
    fscanf(f, "\"%[^\"]s", name);
    printf("%s\n", name); // PATRICIA
    return 0;
}

int main() {
    problem22();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

每个备用调用fscanf给我一个名字,而另一个则浪费在获取逗号.我尝试了几种格式,但我无法弄清楚如何做到这一点.

任何人都可以用正确的格式帮助我吗?

vil*_*lla 3

将输入格式字符串更改为"%*[,\"]%[^\"]"您想要的:

fscanf(f, "%*[,\"]%[^\"]", name);
printf("%s\n", name); // MARY
fscanf(f, "%*[,\"]%[^\"]", name);
printf("%s\n", name); // PATRICIA
fscanf(f, "%*[,\"]%[^\"]", name);
printf("%s\n", name); // LINDA
Run Code Online (Sandbox Code Playgroud)

只是%*跳过匹配的输入。