理解C中的文件处理

时间:2011-12-22 13:26:07

标签: c file-io

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

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

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

它最终给了我一个错误。

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

我如何告诉编译器我的文件位于某某路径。 我已经尝试过你们告诉我的所有事情,但无济于事。

5 个答案:

答案 0 :(得分:2)

我认为你遇到了一个错字:应该说:

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

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

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

这是因为\开始转义序列。例如:\n意味着换行。 \\扩展为简单的反斜杠。

答案 1 :(得分:1)

This应该概述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);

希望这有帮助!

答案 2 :(得分:0)

以下是使用fopen

的简单示例
FILE *fp;
fp = fopen(path, "r+");

看看man fopen

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

文件指针是指向 struct 的指针,其中包含有关该文件的某些信息,例如它所在的位置,有多大以及其他因素取决于您的操作系统和libc实现。

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