请教vc中,如何在指定文件的指定位置插入一个参数值;
我试过用fwrite,它是将此符串写到文件末尾。
请那位给个提示,谢谢了!

解决方案 »

  1.   

    如果修改内容和原内容长度一样,可以直接用seek到指定的位置,然后直接写入新内容.
    如果修改内容和原内容长度不一样,不能直接用seek到指定的位置,必须创建一个临时文件或在内存中操作,然后写入原文件.
      

  2.   

    先fseek到指定位置,然后把从这里开始一直到最后的数据都读取到一个缓冲区,fwrite新数据,再fwrite读取到缓冲区的数据.
      

  3.   

    如何你要操作的文件是文本格式的文件的话,就把文件的内容读到内存中,可以用CStringArray类的对象保存,一行一行的读入的字符传数组中,然后在内存中就可以任意操作了。
      

  4.   

    FILE *fp;
    fp=fopen(c:\\test.txt","wb");
    if(fp==NULL);
       //不能打开指定文件
    char szBuf[20];
    strcpy(szBuf,"你要插入的内容");
    fseek(fp,100,SEEK_SET);//从文件开始处到100个字符的地方插入
    fwrite(szBuf,1,sizeof(szBuf),fp);
    fclose(fp);
      

  5.   

    int fseek
    (
       FILE *stream,  //要操作的文件指针
       long offset,   //偏移量
       int origin     //偏移位置。=SEEK_SET,从文件头开始;=SEEK_CUR,从当前位置开始;=SEEK_END,从文件结尾开始
    );