c++(1)输入一个文本文件名; (2)打开文件名,在该文件的每一行前面加上一个行号,保存在另外一个文本文件中.

#include<iostream>#include<fstream>#include<string>#include<iomanip>usingnamespacestd... #include <iostream>
#include <fstream>
#include <string>
#include<iomanip>
using namespace std;

main()
{
string name,str;
int i=1;
char ch;
cout<<"请输入要打开的文件名:";
getline(cin,name);
fstream in(name);
ofstream("test.txt");
while(getline(in,str))
{
out<<i<<"\t"<<str<<endl;
i++;
}

return 0;
}
以上是代码,我不知道输入文件名那里该怎么做,求高手解答
展开
 我来答
百度网友18b39e1aaa6
2014-09-10 · TA获得超过102个赞
知道答主
回答量:153
采纳率:71%
帮助的人:62.9万
展开全部
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;

int main(int argc, char* argv[])
{
char m_stFileName[256];
char buf[2048];
ifstream fin;
ofstream fout;
stringstream sout;

cin.getline(m_stFileName,255);
if(strlen(m_stFileName)==0)
{
cout<<"请输入文件名!"<<endl;
//MessageBox("请输入文件名或选取文件!");
return 0;
}
int num=1;
fin.open(m_stFileName,ios::in);
while(!fin.eof())
{
fin.getline(buf,2047);
sout<<num<<"\t"<<buf<<endl;
cout<<"正在处理第"<<num<<"行"<<endl;
num++;
//m_stShow.Format("正在处理第%3d行",num);
//UpdateData(FALSE);
}
cout<<"正在准备输出到文件..."<<endl;
//m_stShow="正在准备输出到文件...";
//UpdateData(FALSE);
fin.close();

//m_ctrlPro.SetRange(0,num);
//m_ctrlPro.SetPos(0);

num=1;
fout.open(m_stFileName,ios::out);
while(!sout.eof())
{
sout.getline(buf,2047);
fout<<buf<<endl;
cout<<"正在输出第"<<num<<"行"<<endl;
num++;
//m_stShow.Format("正在输出第%3d行",num);
//m_ctrlPro.SetPos(num);
//UpdateData(FALSE);
}
//m_ctrlPro.SetPos(0);
fout.close();
return 1;
}
注释部分是窗口模式下的句子。特意改成控制台模式。

运行效果:

1 白羊座女性最适合的英文名字:
2 Malcolm 、Joan、Niki、Betty、Linda、Whitney、Lily
3
4 金牛座男性最适合的英文名字:
5 Fred、Gary、William、Charles、Michael、Karl
6
7 金牛座女性最适合的英文名字:
8 Barbara、Elizabeth、Helen、Katharine、Lee、Ann、Diana、Fiona
9
追问
这段代码我也看了,但是输入文件名那点看不太懂,能解释下吗?
skheda
2014-09-11 · TA获得超过165个赞
知道小有建树答主
回答量:156
采纳率:100%
帮助的人:82.1万
展开全部
getline(cin,name); cin的名字 放到了name里了 就是对name进行的操作
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小黑跳大不解释
2014-09-11 · TA获得超过432个赞
知道小有建树答主
回答量:428
采纳率:0%
帮助的人:380万
展开全部
我觉得输入文件名那里是对的啊。。。有什么问题
追问
[Error] cpp:14: error: no matching function for call to `std::basic_fstream >::basic_fstream(std::string&)'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式