
编写程序,用二进制方式读写指定的文件a.bin,在每一行前加行号,写入另一个二进制文件b.bin中.
从b.bin中读取数据输出到屏幕。使用voidmain(intargc,char*argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作,使...
从b.bin中读取数据输出到屏幕。使用void main(int argc, char*argv[])函数中的参数传递操作的文件名,
定义ofstream的对象对文件进行操作,使用read()和write()成员函数读入数据,
使用输出流对象输出数据到文件和屏幕。 展开
定义ofstream的对象对文件进行操作,使用read()和write()成员函数读入数据,
使用输出流对象输出数据到文件和屏幕。 展开
2个回答
展开全部
#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));
}
#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~我作业已经交了。。。之前自己写了,只是总得不到正确的结果,所以就来问一问了。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是东大的
你是软院的
你是软信的
你是不是要交作业啊
我也是啊
我也不会啊
O(∩_∩)O哈哈~
你是软院的
你是软信的
你是不是要交作业啊
我也是啊
我也不会啊
O(∩_∩)O哈哈~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询