编写c++程序,用二进制打开指定的一个文件,在每一行前加行号

使用intmain(int阿若干次,插入*argv[])函数中的参数传递操作的文件名,声明ofstream的对象对文件进行操作,使用getline成员函数读入数据,使用c... 使用int main(int 阿若干次,插入*argv[])函数中的参数传递操作的文件名,声明ofstream的对象对文件进行操作,使用getline成员函数读入数据,使用cout输出字符到文件。
请给出程序然后告诉我为什么这样编谢谢了哈~
int main(){int argc,char *argv[])原题中打错了 还有这个具体是什么意思 什么叫它的参数传递操作
展开
 我来答
notearsangel
推荐于2016-11-01 · TA获得超过411个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:161万
展开全部

#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)); 

  

}

最好把.exe文件和输入文件放在根目录下,因为程序要从控制台传入参数,z在cmd下输入格式为:execname filename (前面为可执行文件,无需后缀名,后面的是输入文件,要后缀名),txt格式下测试通过,二进制的你可以试一下^_^

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式