+ -
当前位置:首页 → 问答吧 → C语言文件的问题

C语言文件的问题

时间:2011-12-25

来源:互联网

C/C++ code

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

#define MAX 40

int main(void)
{
    FILE *fp;
    char words[MAX];

    if ((fp = fopen("words", "a++")) == NULL)
    {
        fprintf(stdout, "Can't open \"words\" file.\n");
        exit (1);
    }
    puts("Enter words to add to the file: press the Enter");
    puts("Key at the beginning of a line to terminate.");

    while (gets(words) != NULL && words[0] != '\0')
    {
        fprintf(fp, "%s ", words);
    }
    puts("File contents: ");
    rewind(fp);  //回到文件的开始处

    while (fscanf(fp, "%s", words) == 1)
    {
        puts(words);
    }

    if (fclose(fp) != 0)
        fprintf(stderr, "Error closing file\n");

    return 0;
}



在VC++6.0中运行结果是:粗字体表示输入
Enter words to add to the file: press the Enter
Key at the beginning of a line to terminate.
The fabulous programmer[enter]
[enter]
File contents:
The
fabulous
programmer
The
fabulous
programmer

我的问题是为什么输入后要按两次回车它里面就只有一个gets(words)输入语句啊,还有,他输出的时候为什么输出一个单词就换行,而输出到文件的却是整句。请大家给我讲解一下。


作者: yuzengyuan   发布时间: 2011-12-25

没人回答啊

作者: yuzengyuan   发布时间: 2011-12-25

终于知道怎么回事了,哎。。

作者: yuzengyuan   发布时间: 2011-12-25

怎摸回事啊

作者: wwwzys   发布时间: 2011-12-25

热门下载

更多