C++用fstream打开文件之后,再次打开时,怎样将文件的指针置到开头?

我的程序:#include<iostream>#include<fstream>usingnamespacestd;intmain(){fstreamfile1;fstr... 我的程序:
#include<iostream>

#include<fstream>

using namespace std;

int main()
{
fstream file1;
fstream file2;
file1.open("1.txt",ios::in);
file2.open("2.txt",ios::out);

char x;
int i = 0;

if(!file1)
{
cout << "Error!" << endl;
}
else
{
while(file1 >> x)
{
if(x == 'a')
{
i++;
}
}
}

cout << i << endl;

file1.seekg(0,ios::beg);

while(file1.get(x))
{
file2.put(x);
}

file2.close();
file1.close();

return 0;
}

我的1.txt开始有数据,可以读取,2.txt没有数据,是个空文件,给2文档的赋值语句放到上面统计 i 的值那块就可以完成两个文档的复制,但是放到下面就不行了,用到file1.seekg(0,ios::beg);
这句将指针置到开始,但是没有效果啊?是我哪里用错了吗?求高人指教啊!~
展开
 我来答
zhjiemm
2012-02-08 · TA获得超过2643个赞
知道大有可为答主
回答量:1834
采纳率:75%
帮助的人:709万
展开全部
放到哪里不行?为什么要放到后面呢?
你用file1.seekg(0,ios::beg);
后,再用tellg读一下位置,看是不是设置成功了。
更多追问追答
追问
tellg返回值是-1、、、这是什么情况?
追答
返回-1代表 错误。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式