C语言文件的基础操作
发布日期:2021-05-15 01:05:04 浏览次数:18 分类:精选文章

本文共 2138 字,大约阅读时间需要 7 分钟。

C语言文件操作手册

文档构成

本文详细介绍了C语言中文件操作的相关知识,包括文件操作的基础概念、文件指针的使用以及常用文件操作函数的应用。


文件类型指南

在C语言中,文件操作依赖于FILE类型的文件指针。开发者可以通过包括<stdio.h>头文件来访问这些文件操作函数。

文件指针声明方式

FILE * fp;  // 声明用于存储文件操作的文件指针

文件指针通过fopen函数获得,打开完成后,可通过fclose函数关闭文件。


fopen函数操作手册

fopen函数用于打开文件,根据文件的读写模式决定其行为。以下是支持的文件访问模式:

  • 只读模式
    const char *filename, "*r";
    fp = fopen(filename, "r");
  • 只写模式
    const char *filename, "*w";
    fp = fopen(filename, "w");
  • 追加模式
    const char *filename, "*a";
    fp = fopen(filename, "a");
  • 其他模式
    const char *filename, "*r+"; // 读写模式
    const char *filename, "*w+"; // 创建并读写

fopen函数返回NULL表示文件操作失败。

注意事项:

  • 使用"r"模式打开二进制文件可能导致读取异常。
  • 考虑使用"r+""w+"模式。

关闭文件操作

使用fclose函数关闭文件。

示例代码:

void my_close(FILE *file) {
if (file != NULL) {
if (fclose(file) != EOF) {
file = NULL;
}
}
}

fclose函数返回0表示文件关闭成功,返回EOF表示失败。


基本文件操作函数

C语言提供了多种文件操作函数,其中fwritefreadrewindfseekftell是最常用。

fwrite函数

用于将数据块写入文件。

函数原型:

size_t fwrite(const void *buffer, size_t bytes, size_t n, FILE *fp);

示例代码:

// 写入用户数据
USER user = {1001, "admin", "123456"};
size_t bytes_written;
fp = fopen("test.txt", "w");
if (fwrite(&user, sizeof(USER), 1, fp) == size_of_USER) {
printf("数据写入成功!\n");
} else {
printf("写入失败!\n");
}
fclose(fp);

注意事项:fwrite返回写入字节数,可能为0表示失败。

fread函数

用于读取文件中的数据块。

函数原型:

size_t fread(void *buffer, size_t bytes, size_t n, FILE *fp);

示例代码:

int num;
fp = fopen("test.txt", "r");
if (fread(&num, sizeof(int), 1, fp) == 1) {
printf("数据读取成功!\n");
} else {
printf("读取失败!\n");
}
fclose(fp);

读写定位操作

文件操作中,rewindfseekftell功能允许开发者定位文件位置。

rewind函数

将文件指针的光标定位到文件起点。

void rewind(FILE *fp) {
// 光标定位到文件开头
}

使用示例:

rewind(fp);
// 光标现在位于文件开头

fseek函数

通过偏移量定位光标位置。

函数原型:

int fseek(FILE *fp, long offset, int origin);

origin可取SEEK_SET(文件开头),SEEK_CUR(当前位置),SEEK_END(文件尾部)。

示例代码:

// 定位到文件末尾
fseek(fp, 0, SEEK_END);
// 获取当前位置
long currentPosition = ftell(fp);

文件大小获取

使用ftell函数获取文件当前位置。

函数原型:

long int ftell(FILE *pf);

示例代码:

// 假设想定位到文件尾部
fseek(fp, 0, SEEK_END);
long fileLength = ftell(fp);
printf("文件大小为:%ld 字符\n", fileLength);

总结

本文为您提供了C语言中文件操作的基础知识和实用函数示例。通过合理使用文件指针和这些函数,您可以轻松实现文件的读写和管理。记住:

  • fopen-campusčilič
  • fclose关闭文件
  • fwrite写入数据
  • fread读取数据
  • 其他函数辅助定位和查询
  • 通过实践,您会越来越熟悉这些函数的使用。

    上一篇:数据结构系列-栈和队列
    下一篇:5月6号考核

    发表评论

    最新留言

    不错!
    [***.144.177.141]2025年04月22日 00时29分20秒