c语言如何读取txt文件内容?

介绍

在C语言中,读取txt文件的操作是非常常见的。读取文件可以让你获取文件的内容,你可以将文件内容用于程序中的各种计算、操作等等。这篇文章将会详细介绍C语言如何读取txt文件内容。

打开文件

打开文件是读取文件的第一步。在C语言中,可以使用fopen函数打开文件,并返回一个文件指针。

FILE *fopen(const char *filename, const char *mode);

fopen函数需要两个参数,一个是要读取的文件名,另一个是打开文件的模式:

r: 打开一个文本文件,以只读方式。

w: 打开一个文本文件,用写方式,如果文件已存在则清除文件内容。

a: 打开一个文本文件,用写方式打开,如果文件已存在则在文件末尾添加数据。

r+: 打开一个文本文件,用读写方式。

w+: 打开一个文本文件,用读写方式,如果文件已存在则清除文件内容。

a+: 打开一个文本文件,用读写方式打开,如果文件已存在则在文件末尾添加数据。

下面是一个例子,打开一个名为“example.txt”的文件:

FILE *fp;

fp = fopen("example.txt", "r");

读取文件内容

打开文件后,可以使用fscanf函数、fgets函数或fread函数来读取文件内容。

使用fscanf函数读取

对于简单的纯文本文件,可以使用fscanf函数来读取。fscanf函数按照指定的格式进行读取,并将读取到的数据放入指定的变量中。

int fscanf(FILE *stream, const char *format, ...);

fscanf函数需要三个参数:

stream:一个文件指针,指向要读取的文件。

format:一个字符串,指定读取的格式。

...:要读取的变量列表。

下面是一个例子,从文件中读取两个整数并将它们相加:

FILE *fp;

int num1, num2, sum;

fp = fopen("example.txt", "r");

fscanf(fp, "%d%d", &num1, &num2);

sum = num1 + num2;

fclose(fp);

使用fgets函数读取

如果文件中有多个数据,或者需要一次读取一行数据,则可以使用fgets函数。

char *fgets(char *str, int n, FILE *stream);

fgets函数需要三个参数:

str:一个字符数组,用于存储读取到的数据。

n:一个整数,指定要读取的字符数。

stream:一个文件指针,指向要读取的文件。

下面是一个例子,从文件中读取每一行的数据并输出:

FILE *fp;

char line[100];

fp = fopen("example.txt", "r");

while (fgets(line, 100, fp)) {

printf("%s", line);

}

fclose(fp);

使用fread函数读取

对于二进制文件,可以使用fread函数来读取。fread函数按照指定的格式进行读取,并将读取到的数据放入指定的变量中。

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

fread函数需要四个参数:

ptr:一个指针,指向要读取的数据的存储位置。

size:一个整数,指定每次读取的字节数。

count:一个整数,指定要读取的项目数。

stream:一个文件指针,指向要读取的文件。

下面是一个例子,从文件中读取整个文件的内容:

FILE *fp;

long lSize;

char *buffer;

size_t result;

fp = fopen("example.bin", "rb");

fseek(fp, 0, SEEK_END);

lSize = ftell(fp);

rewind(fp);

buffer = (char*)malloc(sizeof(char)*lSize);

result = fread(buffer, 1, lSize, fp);

fclose(fp);

关闭文件

完成读取操作后,需要使用fclose函数来关闭文件。

int fclose(FILE *stream);

fclose函数需要一个文件指针作为参数:

stream:一个文件指针,指向要关闭的文件。

下面是一个例子,打开一个文件并读取其中的数据,然后关闭文件:

FILE *fp;

int num;

fp = fopen("example.txt", "r");

fscanf(fp, "%d", &num);

fclose(fp);

完整例子

下面是一个完整的例子,读取一个名为“example.txt”的文件并输出其中的每一行内容:

#include <stdio.h>

int main() {

FILE *fp;

char line[100];

fp = fopen("example.txt", "r");

if (fp == NULL) {

printf("File open error!");

return 1;

}

while (fgets(line, 100, fp)) {

printf("%s", line);

}

fclose(fp);

return 0;

}

总结

在C语言中,读取txt文件的操作是非常常见的。本文介绍了C语言如何打开文件、读取文件内容和关闭文件。您可以根据自己的需求选择适合自己的读取方式,并且可以自己尝试编写代码进行练习。

后端开发标签