跳到主要内容

C 语言文本文件

在C语言中,文件操作是一个非常重要的概念。文件操作允许我们将数据存储在磁盘上,以便在程序结束后仍然可以访问这些数据。文本文件是其中一种常见的文件类型,它以纯文本形式存储数据,易于人类阅读和编辑。

文件操作的基本概念

在C语言中,文件操作通常涉及以下几个步骤:

  1. 打开文件:使用 fopen 函数打开文件。
  2. 读取或写入文件:使用 fscanffprintffgetsfputs 等函数进行读取或写入操作。
  3. 关闭文件:使用 fclose 函数关闭文件。

打开文件

在C语言中,我们使用 fopen 函数来打开文件。fopen 函数的原型如下:

c
FILE *fopen(const char *filename, const char *mode);
  • filename 是要打开的文件名。
  • mode 是打开文件的模式,常见的模式有:
    • "r":只读模式,文件必须存在。
    • "w":写入模式,如果文件存在则清空文件,如果文件不存在则创建文件。
    • "a":追加模式,如果文件存在则在文件末尾追加数据,如果文件不存在则创建文件。
    • "r+":读写模式,文件必须存在。
    • "w+":读写模式,如果文件存在则清空文件,如果文件不存在则创建文件。
    • "a+":读写模式,如果文件存在则在文件末尾追加数据,如果文件不存在则创建文件。

读取文件

在打开文件后,我们可以使用 fscanffgets 函数来读取文件内容。

c
#include <stdio.h>

int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}

char buffer[100];
while (fgets(buffer, sizeof(buffer), file) != NULL) {
printf("%s", buffer);
}

fclose(file);
return 0;
}

写入文件

我们可以使用 fprintffputs 函数将数据写入文件。

c
#include <stdio.h>

int main() {
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}

fprintf(file, "Hello, World!\n");
fputs("这是第二行\n", file);

fclose(file);
return 0;
}

关闭文件

在完成文件操作后,务必使用 fclose 函数关闭文件,以释放资源并确保数据被正确写入磁盘。

c
fclose(file);

实际案例

假设我们需要编写一个程序,记录用户的输入并将其保存到一个文本文件中。以下是一个简单的示例:

c
#include <stdio.h>

int main() {
FILE *file = fopen("user_input.txt", "a");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}

char input[100];
printf("请输入一些文字:");
fgets(input, sizeof(input), stdin);

fprintf(file, "%s", input);

fclose(file);
printf("输入已保存到文件。\n");
return 0;
}

在这个示例中,程序会提示用户输入一些文字,并将其追加到 user_input.txt 文件中。

总结

C语言中的文本文件操作是一个基础但非常重要的技能。通过 fopenfclosefscanffprintf 等函数,我们可以轻松地读取和写入文本文件。掌握这些操作后,你将能够处理更复杂的文件操作任务。

附加资源与练习

通过不断练习和探索,你将能够熟练掌握C语言中的文件操作技巧。