标题:如何修改文件的指定行!(急)
只看楼主
lin2008
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-6-11
 问题点数:0 回复次数:4 
如何修改文件的指定行!(急)

test.ini文件如下;
1 193117594898045066
2 195554555554542141
3 195454114412414155
4 655255655551212122
5 215551212121212010

当我从键盘输入2时,把第二行的2改为0,输入5时把第五行的5改为0,后面的数据不变,怎么实现呀..谢谢各位了

搜索更多相关主题的帖子: 文件 键盘 ini test 数据 
2006-06-11 08:30
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
先将其内容读出,再修该,然后写回

天行健,君子以自强不息!!QQ:68660681
2006-06-11 12:14
lin2008
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-6-11
得分:0 
给出源程序.行吧!
2006-06-11 13:29
lin2008
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-6-11
得分:0 

给出源程序..

[此贴子已经被作者于2006-6-11 13:32:47编辑过]

2006-06-11 13:31
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
原程序自己去写,
我给个大概给你:
int n;
char str[HANG][MAX+1];

fstream f("test.ini");

while(f>>n)//读入行号
f>>str[n-1];//读入每一行的内容

cin>>nChange;// 读入需要修改的行的行号
while (cChange>n) cin>>nChange;

for(int i=0;i<MAX;i++) if ('2' == str[nChange-1][i] ) str[nChange-1][i] = '0';//修改

i=0;
while (i++<n)//写回
f<<char(int('0')+i+1)<<" "<<ch[i]<<endl;

具体就自己实现,还有许多地方可以优化

[此贴子已经被作者于2006-6-11 13:49:45编辑过]


天行健,君子以自强不息!!QQ:68660681
2006-06-11 13:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-71289-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.239813 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved