fgetc()vs fscanf(“%s”)从c编程中的txt文件中获取字符串

时间:2016-11-25 00:52:39

标签: c fgets scanf fgetc

我是编程新手,C是我的第一语言。我有一个作业,其中第一部分是获取用户输入并将其作为字符串写入文本文件。第二部分必须是新代码,是从文件中获取文本行并将它们显示为单独的字符串。

我看过论坛,看到有些人使用fgets(),有些人使用fgetc(),但我对哪种情况更适合这种情况感到困惑。例如我到目前为止的代码,其中file.txt有3行文本

potato
turkey
cranberry_sauce

会返回

"  "
"  "
potato

如果我添加另一个字符串,它最终会抓住任何东西。我甚至走在正确的道路上? 感谢所有的建议,我真的很感激。

代码是

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

const int L = 80;
int main(void)
{
    char string1[L], string2[L], string3[L];
    FILE *pfile = NULL;
    pfile = fopen("file.txt",  "r");

    fscanf(pfile,"%s%s%s", &string1, &string2, &string3);

    printf("%s\n", string3 );
    printf("%s\n", string2 );
    printf("%s\n", string1 );
    getchar();

    return 0;
}

编辑:放弃&amp;当获取字符串wprked时。非常感谢!

0 个答案:

没有答案