C语言学习小记(15)-文件操作-张种恩的技术小栈
在C语言中,文件被视为一个字节序列的抽象,可以存储文本、二进制数据或混合数据。文件操作是通过标准库提供的文件处理函数来完成的,这些函数主要集中在stdio.h 2025-1-30 12:54:49 Author: www.zze.xyz(查看原文) 阅读量:11 收藏

在C语言中,文件被视为一个字节序列的抽象,可以存储文本、二进制数据或混合数据。文件操作是通过标准库提供的文件处理函数来完成的,这些函数主要集中在stdio.h头文件中。

  1. 文本文件:包含可读字符序列,操作系统通常会在内部转换为特定的字符编码(如ASCII、UTF-8)。在C语言中,通过标准输入输出流(如stdin、stdout)或以文本模式打开的文件流处理此类文件。

  2. 二进制文件:包含原始字节序列,不做任何字符编码转换。处理二进制文件时,通常使用以二进制模式打开的文件流。

  1. 打开文件

使用fopen函数打开一个文件,返回一个指向FILE结构体的指针(称为文件指针),用于后续文件操作。示例:

打开模式还包括:"w"(写入,如果文件已存在则清空内容)、"a"(追加,如果文件不存在则创建)、"r+"(读写,文件必须存在)、"w+"(读写,如果文件已存在则清空内容)、"a+"(读写,如果文件不存在则创建)。

  1. 读写文件

根据文件指针进行文件内容的读取或写入。常用函数包括:

  • 读取

    • fscanf:从文件中按格式读取数据,类似于 scanf

    • fgets:读取一行文本,包括换行符。

    • fread:读取二进制数据块。

  • 写入

    • fprintf:向文件中按格式写入数据,类似于printf

    • fputs:写入一行文本,不包括换行符。

    • fwrite:写入二进制数据块。

示例:

  1. 定位文件指针

使用fseek函数改变文件指针的位置,以便在文件的不同位置进行读写。fseek接受三个参数:文件指针、偏移量和起始点(SEEK_SETSEEK_CURSEEK_END分别代表文件开头、当前位置、文件结尾)。示例:

  1. 检查文件状态:使用feofferrorftell函数检查文件状态:

    • feof(fp):检查是否已到达文件末尾。

    • ferror(fp):检查是否存在读写错误。

    • ftell(fp):返回当前文件指针的位置(相对于文件开头的字节数)。

  2. 关闭文件:使用fclose函数关闭已打开的文件,释放相关资源。示例:


文章来源: https://www.zze.xyz/archives/1713163025897
如有侵权请联系:admin#unsafe.sh