(三)文件任意位置写入

一、c 语言中的两种文件 IO

  1. 系统 IO =====>对应函数 open 、read 、 write、 seek、 tell
  2. 标准 IO======>对应函数 fopen、fread、fwrite、fseek、ftell

两者通过打开文件获得文件描述符或者文件指针

 

  • 理解文件 IO

文件 IO 存在的目的是为了写入或者读取文件,设计者设计了相应的一些参数决定怎么写入文件,读取文件。这里主要说标准IO,就是 r 、r+、a、a+、w、w+

  • 特殊要求

当你需要在文件的某个特定的位置写入怎么办呢?你不想让设计者决定你从哪里操作文件,这样fssek,ftell这对函数就起作用了。

贴上相应的测试代码

#include <stdio.h>

#include <stdlib.h>



int main(void)

{

    // 以可读可写的方式打开文件

    FILE *fp = fopen("1.txt", "r+");


    // 判断文件打开状态

    if (fp == NULL)

    {

        perror("打开文件失败");

    }


    // 设置文件指针偏移到文件的第6个字节开始
    //(测试请用英文或者数字,因为一个汉字两个字节,会打乱汉字编码)
    fseek(fp, 5, SEEK_SET);

    // 将 "test" 写入文件
    fwrite("test", 1, 4, fp);
    return 0;

 }             

程序运行之前:

程序运行后:

推荐阅读博客:https://www.cnblogs.com/xingyunblog/p/3675568.html

猜你喜欢

转载自blog.csdn.net/qq_41985711/article/details/82943554
今日推荐