zoukankan      html  css  js  c++  java
  • 通过文件指针插入文件内容

    fseek(pf, -10, SEEK_END);

    如果是这样的话,那么他所移动到的位置,右边有10个数字。

    1.对文件基本操作

    FILE *pf = fopen(path, "r+");  //文件指针在头部,不清空原来的内容。

    FILE *pf = fopen(path, "w+");  //文件指针在头部,会清空原来的内容。

    FILE *pf = fopen(path, "a+");  //尾部添加,文件指针会被移动到尾部。

    2.文件指针不同操作符

    • FILE *pf = fopen(path, "r+");

      fseek(pf, -10, SEEK_END);  

      fputs("abcdef", pf);

      //指针可以被移动到添加到指定的位置,但是不是插入,它会将文件中该位置正向同样大小的内容给替换了,就不是插入了。

    • FILE *pf = fopen(path, "w+");

      fseek(pf, -10, SEEK_END);  

      fputs("abcdef", pf);

      //使用w+,会将原文件全部清楚,然后再写入。

    • FILE *pf = fopen(path, "a+");

      fseek(pf, -10, SEEK_END);  

      fputs("abcdef", pf);

      //fseek对指针的移动是无效的,人家依然会将内容添加到文件尾部。

    2.利用文件指针对文件进行插入

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        char path[150] = "C:\Users\sjx1\Desktop\a.txt";
        FILE *pf = fopen(path, "r+");//文件指针在头部,不清空内容
        fseek(pf, 0, SEEK_END);
        fputs("0000000", pf);
        fflush(pf);//刷新文件
        for (int i = 0; i < 10;i++)
        {
            fseek(pf, -7 - i - 1, SEEK_END);
            int ch = fgetc(pf);
            fseek(pf, -i - 1, SEEK_END);
            fputc(ch, pf);
    
            fflush(pf);//刷新文件
        }
        fseek(pf, -17, SEEK_END);//a+ 文件指针移动无效
        fputs("abcdefg", pf);
        fflush(pf);//刷新文件
        fclose(pf);
    }
  • 相关阅读:
    php大文件分片上传
    ckeditor粘贴上传图片
    视频断点续传+java视频
    php上传文件夹 ​
    批量下载
    PHP上传超大文件解决方案
    js大文件上传
    java+web文件的上传和下载代码
    Webupload+PHP上传大文件
    【hdu1280】前M大的数
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5863463.html
Copyright © 2011-2022 走看看