理解C中的文件处理

我究竟如何从C中的文件中获取输入?

例如:Say我分配了一个指向特定文件的文件指针,并希望执行某些操作。 分配文件指针的语法究竟是什么假定文件位于C:\ Acads \ bin \ File.txt。 在我的代码中,当我尝试这个

FILE *fp1; fp1=("C:\Acads\bin\File.txt","r+"); 

它最终给了我一个错误。

更新:好的,这是我的主要疑问。

我怎么告诉编译器我的文件位于某某路径。 我已经尝试过你们告诉我的一切,但无济于事。

我觉得你遇到了一个错字:应该说:

 fp1=fopen(filename,"r+"); 

此外,您必须使用另一个反斜杠转义每个反斜杠char \

 fp1=fopen("C:\\Acads\\bin\\File.txt","r+"); 

这是因为\开始一个转义序列。 例如: \n表示换行符。 \\扩展为简单的反斜杠。

这应该为您提供C语言中文件处理的概述。您可以使用fopen打开文件并使用perror来查看是否出现了问题。 这些方面的东西:

 FILE *fp; fp= fopen("C:\\Acads\\bin\\File.txt","r+"); /* You have to escape \ in C as it is a special character*/ if ( fp == NULL) { perror("fopen"); /*Handle error*/ } /* File operations */ fclose(fp); 

希望这可以帮助!

这是一个使用fopen的简单示例

 FILE *fp; fp = fopen(path, "r+"); 

看看man fopen

您应该在尝试阅读之前打开该文件。 以下是如何打开文件和读取后续行的完整示例。

http://www.phanderson.com/files/file_read.html

文件指针是一个指向结构的指针,该结构包含有关该文件的某些信息,例如它所在的位置,它的大小以及取决于您的操作系统和libc实现的其他内容。

现在,关键是您不必担心该结构实际​​包含的内容。 您只知道您可以指向一个指针,并且库函数知道如何处理它。 这提供了可移植性的奇妙function,这意味着即使在具有完全不同的文件处理方式的系统上,您的代码也可以保持不变。