C++修改txt文件里数据

1.txt里数据liming1200xiaoqiang2300xiaozhu3100xiaokai4600然后进行修改比如将100改为50有人建议是先放入string然后... 1.txt里数据
liming 1 200
xiaoqiang 2 300
xiaozhu 3 100
xiaokai 4 600

然后进行修改 比如将100改为50

有人建议是先放入string 然后再放到txt里

不知道怎么写 方法不限

请各位解答的人写代码出来 别讲思路
展开
 我来答
可以叫我表哥
推荐于2017-10-07 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464983
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
参考代码如下:

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream infile("123.txt",ios::in);/*要在存放VC++MyProjects里面的当前文件建立一个txt文本 位置也可以改成其它地方*/
if(!infile)
{
cout<<"open error!"<<endl;
exit(1);
}
ofstream outfile("fl.txt",ios::out);//存放位置可以改成其他地方如c:fl.txt
if(!outfile)
{
cout<<"open eror!"<<endl;
exit(1);
}
char str;
while(infile.get(str))//从文件读取字符
{
if(str=='3')
str=' ';//如果要把3改成其它字符则把空格换成其它字符
outfile.put(str);//输出到文件fl.txt中
}
infile.close();//关闭文件
outfile.close();//关闭文件
return 0;
zyq_07_28
推荐于2017-09-14 · TA获得超过258个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
#include <string.h>

int main()
{
FILE* file = fopen("a.txt", "r");
char buff[1000];
char new_buff[1000];
int i = 0;
/* 一行一行读 */
while(fgets(buff, 1000, file) != NULL)
{
// printf("%s\n", buff);
char a[100];
int b, c;
/* 全部读出来存在变量里面 */
sscanf(buff, "%s %d %d\n", a, &b, &c);
// printf("a = %s, b = %d, c = %d\n", a, b, c);

/* 这里做更改, 比如:比较名字,如果是xiaozhu那么把后面的100改成50 */
if(strcmp(a, "xiaozhu") == 0)
{
c = 50;
}
/* end 更改 */

/* 构造一个新的要写入文件的char* */
sprintf(new_buff+i, "%s %d %d\n", a, b, c);
i = strlen(new_buff);
}
fclose(file);

// printf("new buff is %s\n", new_buff);

/* 写入文件 */
FILE* file2 = fopen("a.txt", "w");
fwrite(new_buff, sizeof(char), strlen(new_buff), file2);
fclose(file2);

return 0;
}

注释写的很清楚了, 不再说明了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式