程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

C语言实战之文件读取_c语言文件读取操作

balukai 2025-02-20 14:26:47 文章精选 7 ℃

在C语言中,读取文本文件并输出其内容可以通过标准库函数实现。以下是一个简单的示例程序,演示如何打开一个文本文件,读取其内容并输出到控制台。

示例代码

#include 
#include 

int main() {
    FILE *file;
    char filename[100];
    char ch;

    // 提示用户输入文件名
    printf("请输入要打开的文件名: ");
    scanf("%s", filename);

    // 打开文件
    file = fopen(filename, "r");
    if (file == NULL) {
        perror("无法打开文件");
        return EXIT_FAILURE;
    }

    // 读取文件内容并输出
    printf("文件内容:\n");
    while ((ch = fgetc(file)) != EOF) {
        putchar(ch);
    }

    // 关闭文件
    fclose(file);

    return 0;
}

代码说明

  1. FILE *file;
    定义一个文件指针,用于操作文件。
  2. fopen(filename, "r");
    打开文件,"r" 表示以只读模式打开文件。如果文件不存在或无法打开,fopen 会返回 NULL。
  3. fgetc(file)
    从文件中逐个字符读取内容,直到文件结束(EOF)。
  4. putchar(ch)
    将读取的字符输出到控制台。
  5. fclose(file)
    关闭文件,释放资源。

编译和运行

  1. 将代码保存为 read_file.c。
  2. 使用以下命令编译:
gcc read_file.c -o read_file
  1. 运行程序:
./read_file
  1. 输入要读取的文件名(例如 example.txt),程序会输出文件内容。

示例输入文件

假设有一个文本文件 example.txt,内容如下:

Hello, World!
This is a test file.
Welcome to C programming.

运行程序后,输出:

请输入要打开的文件名: example.txt
文件内容:
Hello, World!
This is a test file.
Welcome to C programming.

注意事项

  1. 文件路径
    如果文件不在当前目录下,需要提供文件的完整路径。
  2. 文件大小
    该程序逐字符读取文件,适合处理较小的文本文件。如果需要处理大文件,可以考虑按行读取(使用 fgets)或分块读取。
  3. 错误处理
    如果文件无法打开,程序会输出错误信息并退出。

扩展:按行读取文件

如果需要按行读取文件,可以使用 fgets 函数。以下是修改后的代码:

#include 
#include 

int main() {
    FILE *file;
    char filename[100];
    char buffer[256];

    // 提示用户输入文件名
    printf("请输入要打开的文件名: ");
    scanf("%s", filename);

    // 打开文件
    file = fopen(filename, "r");
    if (file == NULL) {
        perror("无法打开文件");
        return EXIT_FAILURE;
    }

    // 逐行读取文件内容并输出
    printf("文件内容:\n");
    while (fgets(buffer, sizeof(buffer), file) != NULL) {
        printf("%s", buffer);
    }

    // 关闭文件
    fclose(file);

    return 0;
}

这个版本会逐行读取文件内容,适合处理较大的文本文件。

最近发表
标签列表