编写程序,用二进制方式读写指定的文件a.bin,在每一行前加行号,写入另一个二进制文件b.bin中.

从b.bin中读取数据输出到屏幕。使用voidmain(intargc,char*argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作,使... 从b.bin中读取数据输出到屏幕。使用void main(int argc, char*argv[])函数中的参数传递操作的文件名,
定义ofstream的对象对文件进行操作,使用read()和write()成员函数读入数据,
使用输出流对象输出数据到文件和屏幕。
展开
 我来答
CS杂货铺
2012-05-09
知道答主
回答量:14
采纳率:0%
帮助的人:4.5万
展开全部
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iomanip>
#include <string>
using namespace std;

void new_line(ifstream& fin,char& temp);

int main(int argc,char *argv[])
{
ifstream fin;
ofstream fout;

int num_line=1;
char temp,inFileName[128];
string buffer;

if(argc==1)
{
printf("请用格式:SetLineNUm filename\n");
exit(0);
}
else
{
strcpy(inFileName,argv[1]);
}

cout<<"正打开输入文件...\n";
fin.open(inFileName); //打开输入文件
if(fin.fail())
{
cout<<"输入文件打开失败!\n";
exit(1);
}

cout<<"正打开输出文件...\n";
fout.open("output.txt"); //打开输出文件
if(fout.fail())
{
cout<<"输出文件打开失败!\n";
exit(1);
}

do
{
new_line(fin,temp);
getline(fin,buffer);

if(buffer.length()>0)
{
fout<<setw(3)<<num_line++<<": "; //设置行号
fout<<buffer;
fout<<endl;
}

} while(!fin.eof());

fin.close(); //关闭文件
fout.close();

cout<<"成功关闭输入输出文件。\n";
cout<<"程序结束。\n";

return 0;
}

void new_line(ifstream& fin,char& temp)
{
do //跳过行首空格和空行
{
fin.get(temp);

}while(isspace(temp));

}
追问
O(∩_∩)O~我作业已经交了。。。之前自己写了,只是总得不到正确的结果,所以就来问一问了。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
和谐还华丽的赤子1941
2012-05-09 · TA获得超过7.4万个赞
知道大有可为答主
回答量:5万
采纳率:0%
帮助的人:7535万
展开全部
你是东大的
你是软院的
你是软信的
你是不是要交作业啊
我也是啊
我也不会啊
O(∩_∩)O哈哈~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式