C语言 文件I/O

  • Post category:C

关于“C语言 文件I/O”的使用攻略,首先需要明确文件I/O指的是通过C语言程序来读写磁盘上的文件。文件I/O是C语言中非常常用的操作之一,可以实现数据的永久存储和传递。下面具体讲解一下文件I/O的使用流程和技巧。

文件I/O的步骤

文件I/O的步骤如下:

  1. 打开文件:使用fopen函数,它的原型为FILE *fopen(const char *filename, const char *mode);,其中第一个参数是文件名,第二个参数是打开模式。打开模式一般有以下几种:

  2. “r”:以只读模式打开文件;

  3. “w”:以只写模式打开文件,如果文件存在,则清空文件内容,文件不存在则创建新文件;
  4. “a”:以只写模式打开文件,如果文件存在,则将数据追加到文件末尾,文件不存在则创建新文件;
  5. “r+”:以读写模式打开文件;
  6. “w+”:以读写模式打开文件,如果文件存在,则清空文件内容,文件不存在则创建新文件;
  7. “a+”:以读写模式打开文件,如果文件存在,则将数据追加到文件末尾,文件不存在则创建新文件。

  8. 读写文件:使用freadfwrite函数读写文件。fread函数可以读取文件中二进制格式的数据到指定内存空间,原型为size_t fread(void *ptr, size_t size, size_t count, FILE *stream);fwrite函数可以将指定内存空间的数据以二进制格式写入文件,原型为size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);

  9. 关闭文件:使用fclose函数关闭打开的文件,原型为int fclose(FILE *stream);

具体使用方法可以看下面两个示例。

示例一:向文件中写入字符串

#include <stdio.h>

int main() {
    FILE *fp;
    fp = fopen("test.txt", "w");

    if (fp == NULL) {
        printf("文件打开失败。\n");
        return 1;
    } else {
        printf("文件打开成功。\n");
    }

    char str[] = "Hello, World!";
    fwrite(str, sizeof(char), sizeof(str), fp);

    fclose(fp);

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

    return 0;
}

上面这个程序会创建一个名为test.txt的文件,并向其中写入”Hello, World!”。

示例二:从文件中读取字符串

#include <stdio.h>

int main() {
    FILE *fp;
    fp = fopen("test.txt", "r");

    if (fp == NULL) {
        printf("文件打开失败。\n");
        return 1;
    } else {
        printf("文件打开成功。\n");
    }

    char str[20];
    fread(str, sizeof(char), 20, fp);

    printf("文件内容是:%s\n", str);

    fclose(fp);

    printf("文件读取成功。\n");

    return 0;
}

上面这个程序会读取名为test.txt的文件的内容,并输出到屏幕上。

总的来说,使用文件I/O能够帮助我们实现更加灵活和自由的数据传递。