c++修改txt数据
比如我有一个123.txt文档,里面是1~9,我想把3修改并且保存而不影响其他数据,应该怎么做呢?里面的元素不一定是数字的,符号型的如果用到文件参数名的话希望可以用fil...
比如我有一个123.txt文档,里面是1~9,我想把3修改并且保存而不影响其他数据,应该怎么做呢?里面的元素不一定是数字的,符号型的
如果用到文件参数名的话希望可以用 file1这样比较容易懂的。。。
最好用ifstream,ofstream之类的文件流吧。。。。 展开
如果用到文件参数名的话希望可以用 file1这样比较容易懂的。。。
最好用ifstream,ofstream之类的文件流吧。。。。 展开
3个回答
展开全部
#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<iostream>
#include<string>
#include<fstream>
using namespace std;
void change(string &a,char b)
{
for(int i=0;i<(int)a.size();i++)
if(a[i]=='3')
a[i]=b;
}
int main(){
cout<<"input the filename:";
string filename;
cin>>filename;
ifstream infile(filename.c_str(),ios::app);
ofstream outfile("outfile.txt");
string temp;
cout<<"input the char your want to instand of 3:"<<endl;
char b;
cin>>b;
while(infile>>temp){
change(temp,b);
outfile<<temp<<" ";
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从file1中读取数据,修改要修改的字符,将修改完成的结果写入临时文件file2中
全部修改完成后,将file2重命名为file1
全部修改完成后,将file2重命名为file1
追问
怎么覆盖?可以贴下代码么,完整的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询