回 帖 发 新 帖 刷新版面

主题:求助!

把一个数(例如:1)储存进了一个文件中,但是想把它改成2应该怎么做?![em15]

回复列表 (共9个回复)

沙发

#include <stdio.h>
int main()
{
    FILE* file;
    //打开D盘的123.txt,如果没有这个文件将创建一个
    file   = fopen("D:\\123.txt","w+");
    char c = '1';
    //把1写入文件
    fwrite(&c,sizeof(char),1,file);
    c      = '2';
    //把文件指针移到刚写入1的位置
    fseek(file,0,SEEK_SET);
    //把2写入文件,即覆盖1
    fwrite(&c,sizeof(char),1,file);
    //关闭文件
    fclose(file);
    return 0;
}

板凳


如果是用fprintf写入的呢?!

3 楼

一样的啊。。。

4 楼

哦!

5 楼


数字也要以字符的形式存入去的吗?!

6 楼

如果不是以字符形式,那就不能用fprintf了,得用fwrite了:)

7 楼


额.....但是我试过数字不转成字符也可以用fprintf写入!

8 楼

不是说转成字符后写到文件里,而是你是数值型的数据,用fprintf写到文件里就变成文本了。如果你想存储它的二进制值,就必须得用fwrite~~~~~

9 楼


哦!这样.......!

我来回复

您尚未登录,请登录后再回复。点此登录或注册