gpt4 book ai didi

c++ - 编写可执行文件program.exe 读写文件,但是以这种方式 program.exe<input.txt>output.txt

转载 作者:行者123 更新时间:2023-11-28 06:20:40 27 4
gpt4 key购买 nike

首先,这不是作业问题。我知道如何读取和写入文件,如果我已经知道所涉及文件的名称,我就会在 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

关于c++ - 编写可执行文件program.exe 读写文件,但是以这种方式 program.exe&lt;input.txt>output.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29360225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com