编写可执行的program.exe以读取和写入文件但是以这种方式编写program.exe <input.txt> output.txt </input.txt>

时间:2015-03-31 03:43:36

标签: c++

首先,它不是一个家庭作业问题。我知道如何读取和写入文件,如果我已经知道所涉及文件的名称,则用C ++解析行,但我需要为输入和输出的不同文件名运行相同的代码,并且它将被多次调用。任何帮助将不胜感激:)

#include <iostream>
#include <fstream>
#include <math.h>
#include <sstream>
#include <string>
using namespace std;
void file_reader(ifstream &file_read, ofstream &file_out){}
int main(){
ifstream file_read("temp.lmps",ios::in);
ofstream file_out("data.lmps",ios::out);
file_reader(file_read,file_out);
return 0;
}

1 个答案:

答案 0 :(得分:1)

选项1

更改

void file_reader(ifstream &file_read, ofstream &file_out){}

使用istreamostream代替ifstreamofstream

然后,使用std::cinstd::cout调用它。

void file_reader(std:istream& in_stream, std::ostream& out_stream){}

int main()
{
   file_reader(std::cin, std::cout);
   return 0;
}

现在你可以使用

program.exe < input.txt > output.txt

选项2

将输入文件和输出文件作为参数传递给程序。

int main(int argc, char** argv)
{
   std::ifstream file_read(argv[1],ios::in);
   std::ofstream file_out(argv[2],ios::out);
   file_reader(file_read, file_out);
   return 0;
}

现在你可以使用

program.exe input.txt output.txt