Windows上的C文件输入/输出

时间:2016-10-13 08:34:20

标签: c file-io

首先,这是我的第一个堆栈溢出问题,如果我格式化错误,请原谅我。

我是C的初学者,我在文件i / o的书中有一点意义。下面的代码,打算将行打印到test.txt,不会创建新的txt文件或......做任何事情。

我在Windows上运行代码块16.01。此代码是否为另一个操作系统设计?

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

main() {
    FILE *fp;
    fp = fopen("/tmp/test.txt", "w+");
    fprintf(fp, "This is testing for fprintf...\n");
    fputs("This is testing for fputs...\n", fp);
    fclose(fp);
}

好的,所以删除斜杠会使它工作。在原始代码中,它是'fopen(“/ tmp / test.txt”,“W +”);' 这不应该在文件夹tmp中创建文件吗?

2 个答案:

答案 0 :(得分:3)

尝试从文件名中删除正斜杠。你似乎正在做正确的事情,斜线可能是问题。如果没有,请告诉我们。

编辑:当我写评论时,你的fopen使用&#34; /test.txt"而不是&#34; /temp/test.txt" ;,你有&#34; temp&#34;在运行应用程序的目录中创建的文件夹?如果没有,请尝试创建它。或者完全删除它并尝试在运行应用程序的目录中创建文本文件。

答案 1 :(得分:1)

在Windows中使用双//来浏览目录。

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

int main() {
    FILE *fp;
    /* 
       file path in windows should be like this= C:\\users\\r.maurya\\Desktop\\Downloads\\file.txt 
    */
    fp = fopen("C:\\users\\r.maurya\\Desktop\\Downloads\\file.txt", "w+");
    fprintf(fp, "This is testing for fprintf...\n");
    fputs("This is testing for fputs...\n", fp);
    fclose(fp);
return 0;//Optional, On success of program 
}