c++文件操作的文件打开失败。。

kb永远的24 2014-05-27 03:57:52
这是我写的程序,要把f1.dat的内容追加到f2.dat里面去,程序没有报错,就是第二个函数里面打不开f2.dat,是不是因为第一个函数里面的的关闭失败啊?求大神解答
#include<iostream>
#include<fstream>
using namespace std;

void write()
{
int num[20],i;
ofstream file1,file2;
file1.open("f1.dat");
file2.open("f2.dat");
cout<<"Enter twenty numbers:"<<endl;
for(i=0;i<20;i++)
cin>>num[i];
for(i=0;i<10;i++)
file1<<num[i]<<"\t";
for(i=10;i<20;i++)
file2<<num[i]<<"\t";
file1.close();
file2.close();
// if(file2)
// {
// cout<<"f2.dat didn't close."<<endl;
// exit(0);
// }
}

void copy()
{
fstream infile,outfile;
infile.open("f1.dat",ios::in);
outfile.open("f2.dat",ios::app);
if(!outfile)
{
cout<<"f2.dat open fail."<<endl;
exit(0);
}
int num[10],i;
for(i=0;i<10;i++)
{
infile>>num[i];
outfile<<num[i]<<"\t";
}
infile.close();
outfile.close();
}

void main()
{
write();
copy();
}
...全文
520 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kb永远的24 2014-05-27
  • 打赏
  • 举报
回复
引用 3 楼 longburulin 的回复:
你文件存在哪个地方 比如C盘 就写outfile.open("C:\\f2.dat",ios::app);
谢谢,我已经解决了,少写了一个ios::out,像楼上回复那样
kb永远的24 2014-05-27
  • 打赏
  • 举报
回复
引用 4 楼 longburulin 的回复:
[quote=引用 2 楼 u013511840 的回复:] [quote=引用 1 楼 max_min_ 的回复:] 把错误信息打出来看看 却是权限这些基本问题先
没有报错,程序可以运行,但是在copy函数里面f2.dat 打开失败[/quote]估计是没有找到你的文件地址啊[/quote]哦谢谢,我已经解决了,写成 outfile.open("f2.dat",ios::out|ios::app);就对了
longburulin 2014-05-27
  • 打赏
  • 举报
回复
引用 2 楼 u013511840 的回复:
[quote=引用 1 楼 max_min_ 的回复:] 把错误信息打出来看看 却是权限这些基本问题先
没有报错,程序可以运行,但是在copy函数里面f2.dat 打开失败[/quote]估计是没有找到你的文件地址啊
longburulin 2014-05-27
  • 打赏
  • 举报
回复
你文件存在哪个地方 比如C盘 就写outfile.open("C:\\f2.dat",ios::app);
kb永远的24 2014-05-27
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
把错误信息打出来看看 却是权限这些基本问题先
没有报错,程序可以运行,但是在copy函数里面f2.dat 打开失败
max_min_ 2014-05-27
  • 打赏
  • 举报
回复
把错误信息打出来看看 却是权限这些基本问题先

64,670

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧