Prerrequisitos: Entrada/Salida desde archivo externo en C/C++, Java y Python para Programación Competitiva
En la publicación anterior, vimos una forma de tener una entrada/salida estándar desde un archivo externo mediante el manejo de archivos. En este post veremos una manera muy fácil de hacerlo. Aquí compilaremos y ejecutaremos nuestro código desde la terminal o cmd usando flujos de entrada y salida.
Entorno de Windows
Para Windows , es el caso de los operadores de redirección para redirigir los flujos de entrada y salida de comandos desde las ubicaciones predeterminadas a diferentes ubicaciones.
- Redirigir la entrada de comandos (<) : para redirigir la entrada de comandos desde el teclado a un archivo o dispositivo, use el operador <.
- Redirigir la salida del comando (>) : para redirigir la salida del comando desde la ventana del símbolo del sistema a un archivo o dispositivo, use el operador >.
Ejecuta el código
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 <iostream> using namespace std; int main() { string S; cin >> S; cout << S; return 0; }
Entrada de input.txt:
GeeksForGeeks
Compilar y ejecutar:
g++ test_code.cpp a.exe < input.txt > output.txt
Salida en salida.txt:
GeeksForGeeks
Entorno Linux
Redirección de E/S en Linux: la entrada y la salida en el entorno Linux se distribuyen en tres flujos. Estos flujos son:
- entrada estándar (stdin) : el flujo de entrada estándar generalmente transporta datos de un usuario a un programa. Los programas que esperan una entrada estándar generalmente reciben la entrada de un dispositivo, como un teclado, pero usando < podemos redirigir la entrada desde el archivo de texto.
- salida estándar (stdout) : la salida estándar escribe los datos generados por un programa. Cuando el flujo de salida estándar no se redirige, enviará texto a la terminal. Al usar > podemos redirigir la salida a un archivo de texto.
- 3. error estándar (stderr) : error estándar escribe los errores generados por un programa que ha fallado en algún momento de su ejecución. Al igual que la salida estándar, el destino predeterminado de este flujo es la pantalla del terminal.
Linux incluye comandos de redirección para cada transmisión.
Sobrescribir : los comandos con un solo corchete sobrescriben el contenido existente del destino.
- > – salida estándar
- < – entrada estándar
- 2> – error estándar
Agregar : los comandos con corchetes dobles no sobrescriben el contenido existente del destino.
- >> – salida estándar
- << – entrada estándar
- 2>> – error estándar
Aquí, usaremos el comando Sobrescribir porque no necesitamos agregar la salida, es decir, solo queremos la salida de un solo código.
Compilar código C++
g++ file_name.cpp
Ejecuta el código
./a.out < input_file > output_file
De manera similar, podemos proporcionar entrada/salida estándar de archivos de texto para C o Java compilando primero el código y, mientras ejecutamos el código, proporcionamos archivos de entrada/salida en un formato dado. Para lenguajes como python que no requieren compilación, hacemos lo siguiente
python test_code.py < input.txt > output.txt
Artículo relacionado: Métodos de entrada de Python para programación competitiva
Referencias :
Este artículo es una contribución de Pratik Chhajer . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA