麻烦哪位高手帮我看一下哪错了

阳心扬涵 2012-05-09 06:16:26


#include <fstream>
#include <iostream>
#include <string>
using namespace std;
void main(int argc, char *argv[])
{

ofstream outfilea;
outfilea.open(argv[1],ios::out|ios::app);//|ios::trunc
if(!outfilea)
{
cerr<<"open error!"<<endl;
//abort();//退出程序
}
char str[140];
int len=strlen(str);
cout<<"Enter the data:(139)"<<endl;
getchar(); //提取前一个换行符
cin.getline(str,140,'\n');
outfilea.write((char*)&str,len);
outfilea.close();
ifstream infilea;
infilea.open(argv[1],ios::in);
if(!infilea)
{
cerr<<"open error!"<<endl;
abort();//退出程序
}
streampos filelengtha;
infilea.seekg(0,ios::end);
filelengtha=infilea.tellg();
char *buffer;
infilea.read(buffer,filelengtha);
//infile>>endl;
infilea.close();
ofstream outfileb(argv[2],ios::out|ios::app);
if(!outfileb)
{
cerr<<"open error!"<<endl;
abort();//退出程序
}
outfileb.write(buffer,len);
outfileb.close();
ifstream infileb(argv[2],ios::in|ios::binary);
streampos filelengthb;
infileb.seekg(0,ios::end);
filelengthb=infileb.tellg();
if(!infileb)
{
cerr<<"open error!"<<endl;
abort();//退出程序
}
infileb.read(buffer,filelengthb);//
cout<<buffer<<endl;
infileb.close();

cout<<"************************************************"<<endl;
}

编写程序lab6_1.cpp,编写程序,用二进制方式读写指定的文件a.bin,在每一行前加行号,写入另一个二进制文件b.bin中,
从b.bin中读取数据输出到屏幕使用void main(int argc, char*argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作,使用read()和write()成员函数读入数据,
使用输出流对象输出数据到文件和屏幕。
...全文
122 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Steward2011 2012-05-09
  • 打赏
  • 举报
回复
char str[140];
int len=strlen(str);
cout<<"Enter the data:(139)"<<endl;
getchar(); //提取前一个换行符
cin.getline(str,140,'\n');
outfilea.write((char*)&str,len);


len的值不好说,给str初始化为0后,值为0,不初始化,结果未知
hcq394778093 2012-05-09
  • 打赏
  • 举报
回复
下面的这部分代码有问题,len的值为O
char str[140];
int len=strlen(str);
cout<<"Enter the data:(139)"<<endl;
getchar(); //提取前一个换行符
cin.getline(str,140,'\n');
outfilea.write((char*)&str,len);

64,646

社区成员

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

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