写在文本文件中

时间:2014-08-08 22:26:43

标签: c file printf text-files

所以,我有这段代码:

#include <stdio.h>


  int main(int argc, char *argv[]){
        FILE *ReadFile, *WriteFile;
        float key;
        int quantKeys,T;

        int i;

        /* errors verification */

        if (argc < 3){
            printf(" Use the correct entry parameters.\n");
            exit(1);
        }

        if((ReadFile = fopen(argv[1],"rw")) == NULL){
            printf("Error when trying to open the file\n");
            exit(1);
        }

        if((WriteFile = fopen(argv[2],"rw")) == NULL){
            printf("Error when trying to open the file.\n");
            exit(1);
        }

        /* main code */

        quantKeys = 45658;
        T = 5;

        fprintf(WriteFile,"%d",T);
        fprintf(WriteFile,"%d",quantKeys);
        fclose(ReadFile);
        fclose(WriteFile);

    return 0;
    }

我想做的就是写变量&#34; quantChaves&#34;和&#34; T&#34;在一个文本文件中,我作为main函数的第三个参数传递。它编译并运行没有问题,但我的文本文件在运行后保持为空。 我做错了什么?

2 个答案:

答案 0 :(得分:6)

rw不是fopen的有效模式。如果您想撰写,可以使用ww+r+a+。完整详细信息位于man页面或here

差异的要点:

w不允许阅读

r+如果不存在则不会创建新文件

a+附加文本而不是覆盖文件内容。

答案 1 :(得分:1)

如果你想写一个文件,你应该使用

  • w:创建一个空文件
  • w+:创建一个空文件并将其打开以进行更新
  • r+:打开文件进行更新
  • a+:打开一个文件进行更新,所有输出操作都在文件末尾写入数据 rw。 您可以阅读有关fopen
  • 的更多信息