主题:求助!
牛欢笑!
[专家分:0] 发布于 2011-10-12 22:35:00
把一个数(例如:1)储存进了一个文件中,但是想把它改成2应该怎么做?![em15]
回复列表 (共9个回复)
沙发
winmain2008 [专家分:280] 发布于 2011-10-12 22:59:00
#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;
}
板凳
牛欢笑! [专家分:0] 发布于 2011-10-12 23:11:00
如果是用fprintf写入的呢?!
3 楼
cgl_lgs [专家分:21040] 发布于 2011-10-13 10:24:00
一样的啊。。。
4 楼
牛欢笑! [专家分:0] 发布于 2011-10-13 21:29:00
哦!
5 楼
牛欢笑! [专家分:0] 发布于 2011-10-14 21:59:00
数字也要以字符的形式存入去的吗?!
6 楼
cgl_lgs [专家分:21040] 发布于 2011-10-15 11:46:00
如果不是以字符形式,那就不能用fprintf了,得用fwrite了:)
7 楼
牛欢笑! [专家分:0] 发布于 2011-10-15 20:38:00
额.....但是我试过数字不转成字符也可以用fprintf写入!
8 楼
cgl_lgs [专家分:21040] 发布于 2011-10-17 09:54:00
不是说转成字符后写到文件里,而是你是数值型的数据,用fprintf写到文件里就变成文本了。如果你想存储它的二进制值,就必须得用fwrite~~~~~
9 楼
牛欢笑! [专家分:0] 发布于 2011-10-17 12:25:00
哦!这样.......!
我来回复