C/C++如何修改文件?如果修改后文件长度变短了, 那后面长出来的东东怎么办?

除了打开文件时以清空方式打开,还有什么办法。对已经打开的文件怎么办,可以修改文件的大小吗?我的意思举例:a.txt内容为a=123我想改成a=9然后我把文件指针跳到"a=... 除了打开文件时以清空方式打开,还有什么办法。对已经打开的文件怎么办,可以修改文件的大小吗?
我的意思举例:
a.txt内容为a=123
我想改成a=9
然后我把文件指针跳到"a="后面,写入"9"
结果文件变成了a=923
展开
 我来答
dengniyiqianni
2011-06-07 · TA获得超过316个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:320万
展开全部
我对你前面两上问题不是很明白是什么意思.如何修改文件?往里面写数据呗.
修改后是什么样就是什么样啊.
打开文件有很多方式,除了以清空方式打开还有其它方式的.比如如果文件不存在就打开失败.以比如如果文件不存在就创建文件.又比如打开存在的文件后,可以接着在文件末尾继续写,或者清空重写.

对于已经打开的文件,你可不可以修改.这就要看先前打开的这个文件的程序是怎样处理的了.它可以设定你只有读权限,也可以让你有写权限,甚至让你不能打开.不过这部分内容在纯C++里是没有的,牵涉到win32 API了.
追问
我的意思举例:
a.txt内容为a=123
我想改成a=9
然后我把文件指针跳到"a="后面,写入"9"
结果文件变成了a=923
追答
你确定会是a=923 ????应该a=93才是.
如果文件很复杂的话,这样的修改,那后面如果还有b=1这样的数据还要保留么?....
不是一件简单的活啊...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
御含灵9r
2011-06-07 · TA获得超过4157个赞
知道大有可为答主
回答量:3007
采纳率:0%
帮助的人:2685万
展开全部
chsize这个函数能满足你的要求
追问
这个方法估计是可以的。有没有别的办法能解决我的问题呢。
我其实就是想实现修改文件。
追答
没有,不能在修改文件的同时把文件缩小
要么先修改再缩小
要么先缩小再修改

参考资料: http://www.cppblog.com/fwxjj/archive/2008/04/23/47951.html

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式