C语言文件操作指南

引言:

        在C语言中,文件操作是一项非常重要的编程技术。本篇博客将详细介绍关于文件操作的相关知识,包括fopen、fclose、fputc、fgetc、fputs、fgets、fprintf、fscanf、sprintf、sscanf、fread和fwrite函数的用法,并通过实例说明它们的具体应用。同时,还将分析fprintf、fscanf、sprintf和sscanf函数与printf和scanf函数之间的不同之处。

一、 fopen函数和fclose函数

  • fopen函数用于打开文件,并返回一个指向该文件的指针。它接受两个参数:文件名和打开模式。

示例:

FILE* filePointer;
filePointer = fopen("example.txt", "r");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

...

fclose(filePointer);

  • fclose函数用于关闭之前打开的文件。它的参数是一个指向文件的指针。

二、 fputc函数和fgetc函数

  • fputc函数用于将一个字符写入文件。

示例:

FILE* filePointer;
filePointer = fopen("example.txt", "w");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

char ch = 'A';
fputc(ch, filePointer);

...

fclose(filePointer);

  • fgetc函数用于从文件中读取一个字符。

示例:

FILE* filePointer;
filePointer = fopen("example.txt", "r");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

char ch = fgetc(filePointer);

...

fclose(filePointer);

三、 fputs函数和fgets函数

  • fputs函数用于将一个字符串写入文件。

示例:

FILE* filePointer;
filePointer = fopen("example.txt", "w");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

char str[] = "Hello, World!";
fputs(str, filePointer);

...

fclose(filePointer);

  • fgets函数用于从文件中读取一行字符串。

示例:

FILE* filePointer;
filePointer = fopen("example.txt", "r");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

char str[100];
fgets(str, 100, filePointer);

...

fclose(filePointer);

四、fprintf函数和fscanf函数

  • fprintf函数用于将格式化的输出写入文件。

示例:

FILE* filePointer;
filePointer = fopen("example.txt", "w");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

int age = 25;
fprintf(filePointer, "年龄:%d岁", age);

...

fclose(filePointer);

  • fscanf函数用于从文件中读取格式化的输入。

示例:

FILE* filePointer;
filePointer = fopen("example.txt", "r");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

int age;
fscanf(filePointer, "年龄:%d岁", &age);

...

fclose(filePointer);

五、 sprintf函数和sscanf函数

  • sprintf函数用于将格式化的字符串输出到一个字符数组。

示例:

char str[100];
int age = 25;
sprintf(str, "年龄:%d岁", age);

  • sscanf函数用于从一个字符串中读取格式化的输入。

示例:

char str[] = "年龄:25岁";
int age;
sscanf(str, "年龄:%d岁", &age);

六、fread函数和fwrite函数

  • fread函数用于从文件中读取二进制数据。

示例:

FILE* filePointer;
filePointer = fopen("example.bin", "rb");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

int numbers[5];
fread(numbers, sizeof(int), 5, filePointer);

...

fclose(filePointer);

  • fwrite函数用于将二进制数据写入文件。

示例:

FILE* filePointer;
filePointer = fopen("example.bin", "wb");
if (filePointer == NULL) {
    // 文件打开失败
    printf("无法打开文件!");
    exit(1);
}

int numbers[5] = {1, 2, 3, 4, 5};
fwrite(numbers, sizeof(int), 5, filePointer);

...

fclose(filePointer);

七、fprintf、fscanf、sprintf和sscanf与printf和scanf的不同

  • fprintffscanfsprintfsscanf函数是用于文件的版本,而printfscanf函数是用于控制台的版本。

  • fprintf用于将格式化的输出写入文件,而printf将输出发送到控制台。

  • fscanf用于从文件中读取格式化的输入,而scanf从控制台读取输入。

  • sprintf用于将格式化的字符串输出到一个字符数组,而printf将格式化的字符串输出到控制台。

  • sscanf用于从一个字符串中读取格式化的输入,而scanf从控制台读取输入。

总结:

        文件操作是C语言中必不可少的一部分,掌握了fopenfclosefputcfgetcfputsfgetsfprintffscanfsprintfsscanffreadfwrite函数的使用,可以实现读写文件和二进制数据。同时,了解fprintffscanfsprintfsscanf函数与printf和scanf函数之间的不同之处,可以灵活应用于不同的场景中。

希望本篇博客对您有所帮助,谢谢阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值