繁体   English   中英

编写可执行程序program.exe以通过该方式读取和写入文件 <input.txt> output.txt的

[英]Writing executable program.exe to read and write files in but in this manner program.exe<input.txt>output.txt

首先,它不是作业问题。 我知道如何读写文件,如果我已经知道所涉及文件的名称,那么可以用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

更改

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM