C 读取文件

读取文件

在上一章中,我们在 fopen() 函数中使用 w 和 a 模式写入文件。

要读取文件,您可以使用 r 模式:

实例

FILE *fptr;

// 以读取模式打开文件

fptr = fopen("filename.txt", "r");

这将使 filename.txt 文件以读取模式打开。

在 C 语言中读取文件需要一些工作。坚持下去!我们将逐步指导你。

接下来,我们需要创建一个足够大的字符串来存储文件的内容。

例如,让我们创建一个可以存储最多 100 个字符的字符串:

实例

FILE *fptr;

// 以读取模式打开文件

fptr = fopen("filename.txt", "r");

// 存储文件的内容

char myString[100];

为了读取 filename.txt 的内容,我们可以使用 fgets() 函数。

fgets() 函数采用三个参数:

实例

fgets(myString, 100, fptr);

第一个参数指定在哪里存储文件内容,它将存储在我们刚刚创建的 myString 数组中。

第二个参数指定要读取的数据的最大大小,它应该与 myString 的大小(100)相匹配。

第三个参数需要一个用于读取文件的文件指针(在我们的示例中为 fptr)。

现在,我们可以打印字符串,这将输出文件的内容:

实例

FILE *fptr;

// 以读取模式打开文件

fptr = fopen("filename.txt", "r");

// 存储文件的内容

char myString[100];

// 读取内容并将其存储在 myString 中

fgets(myString, 100, fptr);

// 打印文件内容

printf("%s", myString);

// 关闭文件

fclose(fptr);

输出:

Hello World!

运行实例

注意:fgets 函数只读取文件的第一行。如果你还记得的话,filename.txt 文件中有两行文本。

要读取文件的每一行,你可以使用 while 循环:

实例

FILE *fptr;

// 以读取模式打开文件

fptr = fopen("filename.txt", "r");

// 存储文件的内容

char myString[100];

// 阅读内容并打印

while(fgets(myString, 100, fptr)) {

printf("%s", myString);

}

// 关闭文件

fclose(fptr);

输出:

Hello World!

Hi everybody!

运行实例