📜  C / C ++, Java和Python用于竞争性编程的外部文件的输入/输出|套装2

📅  最后修改于: 2021-06-26 00:41:34             🧑  作者: Mango

先决条件:用于竞争性编程的C / C++, Java和Python外部文件的输入/输出

在以上文章中,我们看到了一种使用文件处理从外部文件进行标准输入/输出的方法。在这篇文章中,我们将看到一种非常简单的方法。在这里,我们将使用输入和输出流从终端或cmd编译并运行我们的代码。

Windows环境

对于Windows ,重定向运算符会将命令输入和输出流从默认位置重定向到其他位置。

  1. 重定向命令输入(<) :要将命令输入从键盘重定向到文件或设备,请使用<运算符。
  2. 重定向命令输出(>) :要将命令输出从“命令提示符”窗口重定向到文件或设备,请使用>运算符。

运行代码

a.exe < input_file > output_file
// A simple C++ code (test_code.cpp) which takes 
// one string as input and prints the same string
// to output
#include 
using namespace std;
  
int main()
{
    string S;
    cin >> S;
    cout << S;
  
  return 0;
} 

输入来自input.txt:

GeeksForGeeks

编译并运行:

g++ test_code.cpp
a.exe < input.txt > output.txt

在output.txt中输出:

GeeksForGeeks

Linux环境

Linux中的I / O重定向: Linux环境中的输入和输出分布在三个流中。这些流是:

  1. 标准输入(stdin) :标准输入流通常将数据从用户传送到程序。期望标准输入的程序通常会从设备(例如键盘)接收输入,但是使用<我们可以重定向文本文件中的输入。
  2. 标准输出(stdout) :标准输出写入由程序生成的数据。当标准输出流未重定向时,它将输出文本到终端。通过使用>,我们可以将输出重定向到文本文件。
  3. 3.标准错误(stderr) :标准错误写入由在执行某时失败的程序所生成的错误。与标准输出一样,此流的默认目标是终端显示。

Linux包括每个流的重定向命令。

覆盖:用单括号括起来的命令将覆盖目标的现有内容。

  • > –标准输出
  • <–标准输入
  • 2> –标准错误

追加:带双括号的命令不会覆盖目标的现有内容。

  • >> –标准输出
  • << –标准输入
  • 2 >> –标准错误

在这里,我们将使用Overwrite的命令,因为我们不需要附加输出,即我们只需要一个代码的输出。

编译C++代码

g++ file_name.cpp

运行代码

./a.out < input_file > output_file

同样,我们可以通过首先编译代码,然后在运行代码时以给定格式提供输入/输出文件,来为C或Java文本文件提供标准的输入/输出。对于不需要编译的Python的语言,我们执行以下操作

python test_code.py < input.txt > output.txt

相关文章:竞争性编程的Python输入法

参考 :

  • 微软
  • 数字海洋

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。