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里
不知道怎么写 方法不限
请各位解答的人写代码出来 别讲思路 展开
liming 1 200
xiaoqiang 2 300
xiaozhu 3 100
xiaokai 4 600
然后进行修改 比如将100改为50
有人建议是先放入string 然后再放到txt里
不知道怎么写 方法不限
请各位解答的人写代码出来 别讲思路 展开
2个回答
推荐于2017-10-07 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
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;
#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;
展开全部
#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;
}
注释写的很清楚了, 不再说明了
#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;
}
注释写的很清楚了, 不再说明了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询