我究竟如何从C中的文件中获取输入?
例如:例如:假设我分配了一个指向特定文件的文件指针,并希望执行某些操作。分配文件指针的语法究竟是什么? 假设该文件位于C:\ Acads \ bin \ File.txt。 在我尝试这个时的代码中
FILE *fp1;
fp1=("C:\Acads\bin\File.txt","r+");
它最终给了我一个错误。
更新: 好的,这是我的主要怀疑。
我如何告诉编译器我的文件位于某某路径。 我已经尝试过你们告诉我的所有事情,但无济于事。
答案 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)
在尝试阅读之前,您应该打开文件。 以下是如何打开文件和读取后续行的完整示例。
答案 4 :(得分:0)
文件指针是指向 struct 的指针,其中包含有关该文件的某些信息,例如它所在的位置,有多大以及其他因素取决于您的操作系统和libc实现。
现在,重点是您不必担心该结构实际包含的内容。您只知道您可以指向一个指针,并且库函数知道如何处理它。这提供了可移植性的精彩功能,这意味着即使在具有完全不同的文件处理方式的系统上,您的代码也可以保持不变。