C/C++如何修改文件?如果修改后文件长度变短了, 那后面长出来的东东怎么办?
除了打开文件时以清空方式打开,还有什么办法。对已经打开的文件怎么办,可以修改文件的大小吗?我的意思举例:a.txt内容为a=123我想改成a=9然后我把文件指针跳到"a=...
除了打开文件时以清空方式打开,还有什么办法。对已经打开的文件怎么办,可以修改文件的大小吗?
我的意思举例:
a.txt内容为a=123
我想改成a=9
然后我把文件指针跳到"a="后面,写入"9"
结果文件变成了a=923 展开
我的意思举例:
a.txt内容为a=123
我想改成a=9
然后我把文件指针跳到"a="后面,写入"9"
结果文件变成了a=923 展开
2个回答
展开全部
我对你前面两上问题不是很明白是什么意思.如何修改文件?往里面写数据呗.
修改后是什么样就是什么样啊.
打开文件有很多方式,除了以清空方式打开还有其它方式的.比如如果文件不存在就打开失败.以比如如果文件不存在就创建文件.又比如打开存在的文件后,可以接着在文件末尾继续写,或者清空重写.
对于已经打开的文件,你可不可以修改.这就要看先前打开的这个文件的程序是怎样处理的了.它可以设定你只有读权限,也可以让你有写权限,甚至让你不能打开.不过这部分内容在纯C++里是没有的,牵涉到win32 API了.
修改后是什么样就是什么样啊.
打开文件有很多方式,除了以清空方式打开还有其它方式的.比如如果文件不存在就打开失败.以比如如果文件不存在就创建文件.又比如打开存在的文件后,可以接着在文件末尾继续写,或者清空重写.
对于已经打开的文件,你可不可以修改.这就要看先前打开的这个文件的程序是怎样处理的了.它可以设定你只有读权限,也可以让你有写权限,甚至让你不能打开.不过这部分内容在纯C++里是没有的,牵涉到win32 API了.
追问
我的意思举例:
a.txt内容为a=123
我想改成a=9
然后我把文件指针跳到"a="后面,写入"9"
结果文件变成了a=923
追答
你确定会是a=923 ????应该a=93才是.
如果文件很复杂的话,这样的修改,那后面如果还有b=1这样的数据还要保留么?....
不是一件简单的活啊...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
chsize这个函数能满足你的要求
追问
这个方法估计是可以的。有没有别的办法能解决我的问题呢。
我其实就是想实现修改文件。
追答
没有,不能在修改文件的同时把文件缩小
要么先修改再缩小
要么先缩小再修改
参考资料: http://www.cppblog.com/fwxjj/archive/2008/04/23/47951.html
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询