c语言文件的操作

在C语言中,文件操作是通过一系列的标准库函数来完成的,这些函数定义在<stdio.h>头文件中。以下是C语言中文件操作的一些基本方法:

  1. 打开文件 - FILE *fopen(const char *path, const char *mode);
    • 使用fopen函数以指定的模式(mode)打开文件。如果文件成功打开,函数返回一个指向FILE的指针;如果失败,则返回NULL。模式可以是"r"(只读)、"w"(只写,文件不存在则创建,存在则清空)、"a"(追加,文件不存在则创建)、"r+"(读写,文件必须存在)、"w+"(读写,文件不存在则创建,存在则清空)等。
  2. 关闭文件 - int fclose(FILE *stream);
    • fclose函数用于关闭一个打开的文件。成功时返回0,失败时返回EOF。关闭文件是一个好习惯,可以释放文件相关的资源并确保所有的数据都被正确地写入到文件中。
  3. 读写文件
    • 字符读写int fgetc(FILE *stream);(从文件读取一个字符)、int fputc(int char, FILE *stream);(向文件写入一个字符)。
    • 行读写char *fgets(char *str, int n, FILE *stream);(从文件读取一行)、int fputs(const char *str, FILE *stream);(向文件写入一行)。
    • 块读写size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);(从文件读取数据块)、size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);(向文件写入数据块)。
  4. 定位文件
    • int fseek(FILE *stream, long offset, int whence); - 用于移动文件内的位置指针到指定位置。whence可以是SEEK_SET(文件开头)、SEEK_CUR(当前位置)、SEEK_END(文件末尾)。
    • long ftell(FILE *stream); - 返回给定文件流stream的当前文件位置。
    • void rewind(FILE *stream); - 将文件内部的位置指针重新指向一个流的开头。
  5. 文件状态
    • int feof(FILE *stream); - 检查是否已到达文件末尾(EOF)。
    • int ferror(FILE *stream); - 检查读写过程中是否发生错误。
    • void clearerr(FILE *stream); - 清除文件流stream的错误和文件结束标志。
  6. 格式化输入输出
    • int fprintf(FILE *stream, const char *format, ...); - 向文件写入格式化的数据。
    • int fscanf(FILE *stream, const char *format, ...); - 从文件读取格式化的数据。

这些是C语言文件操作的基本方法。通过组合使用这些函数,可以执行复杂的文件处理任务。

例子1:

运行代码:

#include<stdio.h>  
  
int main() {  
    FILE *fp;  
    char ch[100];  
    int i = 0;  
  
    fp = fopen("D:\\test.txt", "r");  
    if (fp == NULL) {  
        printf("fail to open!\n");  
        return 1; 
    }  
  
    
    while (i < 99 && (ch[i] = fgetc(fp)) != EOF) {  
        i++;  
    }  
    ch[i] = '\0'; 
  
     
    for (int k = i - 1; k >= 0; k--) {  
        printf("%c\n", ch[k]);  
    }  
  
    fclose(fp);  
    return 0;  
}

  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值