在C语言中,你可以使用标准库中的函数来进行文件的读写操作。以下是一些基本的文件读写的示例:

1. 文件的写入(写入字符串):
#include <stdio.h>

int main() {
    FILE *filePointer;

    // 打开文件,如果文件不存在则创建
    filePointer = fopen("example.txt", "w");

    if (filePointer == NULL) {
        printf("无法打开文件。\n");
        return 1;
    }

    // 写入字符串到文件
    fprintf(filePointer, "Hello, File!\n");

    // 关闭文件
    fclose(filePointer);

    printf("文件写入成功。\n");

    return 0;
}

2. 文件的读取(读取字符串):
#include <stdio.h>

int main() {
    FILE *filePointer;
    char buffer[100];

    // 打开文件
    filePointer = fopen("example.txt", "r");

    if (filePointer == NULL) {
        printf("无法打开文件。\n");
        return 1;
    }

    // 读取文件内容到缓冲区
    while (fgets(buffer, sizeof(buffer), filePointer) != NULL) {
        printf("%s", buffer);
    }

    // 关闭文件
    fclose(filePointer);

    return 0;
}

3. 二进制文件的写入和读取:
#include <stdio.h>

struct Person {
    char name[50];
    int age;
};

int main() {
    FILE *binaryFile;
    struct Person person = {"John", 25};

    // 以二进制写入模式打开文件
    binaryFile = fopen("person.bin", "wb");

    if (binaryFile == NULL) {
        printf("无法打开文件。\n");
        return 1;
    }

    // 写入结构体到文件
    fwrite(&person, sizeof(struct Person), 1, binaryFile);

    // 关闭文件
    fclose(binaryFile);

    printf("二进制文件写入成功。\n");

    // 以二进制读取模式打开文件
    binaryFile = fopen("person.bin", "rb");

    if (binaryFile == NULL) {
        printf("无法打开文件。\n");
        return 1;
    }

    struct Person readPerson;

    // 从文件中读取结构体
    fread(&readPerson, sizeof(struct Person), 1, binaryFile);

    // 关闭文件
    fclose(binaryFile);

    // 输出读取到的结构体内容
    printf("读取到的结构体:\n");
    printf("Name: %s\n", readPerson.name);
    printf("Age: %d\n", readPerson.age);

    return 0;
}

以上代码中,fopen 用于打开文件,fprintf 和 fgets 用于文本文件的写入和读取,fwrite 和 fread 用于二进制文件的写入和读取。务必注意在使用文件指针前检查文件是否成功打开(文件指针是否为 NULL),并在操作完成后关闭文件。

请注意,文件的读写涉及到文件的路径和权限问题,确保程序有足够的权限来读写指定的文件。

这只是文件读写的基础,实际应用中可能涉及更多的错误处理和更复杂的文件结构。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3188/C语言