0

您好,我在尝试将数据写入文件时遇到了 fopen 和 fputs。

特别是以下代码:

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

    int main()
    {
       FILE * fp;

       fp = fopen ("file_out.txt", "a+");
       fprintf(fp, "%s %s %s %d", "We", "are", "in", 2016);

       fclose(fp);

       return(0);
    }

给我这个输出:我们在 2016 年

这是我所期待和希望的。

然而,当我改变

fprintf(fp, "%s %s %s %d", "We", "are", "in", 2016);

fprintf(fp, "%s %s %s %d", "We", "are", "in", 3333);

并重新编译并运行,我仍然得到与以前相同的输出!意思是,打印的是 2016,而不是 3333。非常感谢任何帮助。

4

1 回答 1

0

由于您已以附加模式打开文件,fp = fopen ("file_out.txt", "a+");因此您编写的内容将附加到文件中。而且我猜读取文件的实用程序只是读取文件的第一行。因此,您We are in 2016每次都得到。

于 2016-06-06T06:14:49.783 回答