当我将 fopen() 函数分配给变量时,它会做什么?
What does the fopen() function do when I assign it to a variable?
我是一名初级程序员,从事的项目需要我的代码从输入文件中读取字符,在不更改原始文件的情况下对其进行操作,然后将修改后的版本打印到输出文件中。为此,我需要在程序中的某个时刻使用 fopen()
函数,但我很好奇:这里到底发生了什么?输入文件的内容是否复制到变量input1
?
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *input1;
input1 = fopen(argv[1], "r");
return 0;
}
fopen()
的return值是一个文件handle,它就像一个token,你以后可以用它来与文件交互。您可以将 input1
传递给 fgets()
或 fread()
等函数,具体取决于接下来要对文件执行的操作。
fopen()
没有将文件内容复制到任何地方。
fopen 函数为 I/O 文件文件名打开一个流,returns 一个指向流的指针。
所以,在你的声明中:
input1 = fopen(argv[1], "r");
fopen()打开文件argv[1]进行读取,函数返回的地址赋值给input1.This不涉及复制文件内容
然后您可以使用文件指针从 file.for 示例中读取数据:
char c = getc(input1);
在此处阅读文件处理 API。
我是一名初级程序员,从事的项目需要我的代码从输入文件中读取字符,在不更改原始文件的情况下对其进行操作,然后将修改后的版本打印到输出文件中。为此,我需要在程序中的某个时刻使用 fopen()
函数,但我很好奇:这里到底发生了什么?输入文件的内容是否复制到变量input1
?
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *input1;
input1 = fopen(argv[1], "r");
return 0;
}
fopen()
的return值是一个文件handle,它就像一个token,你以后可以用它来与文件交互。您可以将 input1
传递给 fgets()
或 fread()
等函数,具体取决于接下来要对文件执行的操作。
fopen()
没有将文件内容复制到任何地方。
fopen 函数为 I/O 文件文件名打开一个流,returns 一个指向流的指针。 所以,在你的声明中:
input1 = fopen(argv[1], "r");
fopen()打开文件argv[1]进行读取,函数返回的地址赋值给input1.This不涉及复制文件内容
然后您可以使用文件指针从 file.for 示例中读取数据:
char c = getc(input1);
在此处阅读文件处理 API。