Isso não tem nada a ver com gcc (ou g ++): o que você precisa é de redirecionamento de arquivos
./y.out < file.in
ou (para redirecionar a saída do programa, bem como sua entrada)
./y.out < file.in > file.out
Estou tentando ler a entrada para um arquivo c ++ y.cpp
do arquivo file.in
e salvar o resultado em file.out
, mas não consigo descobrir como fazê-lo.
por exemplo, se o código a seguir estivesse em y.cpp
#include<iostream>
using namespace std;
int main(){
int x;
cin>>x;
cout<<x<<" was entered";
}
e o conteúdo de file.in
56
Eu quero um comando shell para escrever 56 was enterdd
em file.out
O que eu fiz até agora é compilar y.cpp
e imprimir o resultado em file.out
.
g++ y.cpp -o y.out
./y.out>file.out
Mas no meu código, a leitura é do terminal e não de file.in
, e eu quero ler a partir de file.in
.
Eu procurei por um método de tubulação para transportar file.in
content para o comando g++
em vez de ler o terminal. Mas eu não encontrei nada sobre o arquivo de entrada de tubulação. tudo o que eu encontrei foi canalizar o código-fonte para o compilador e não canalizar a entrada.
Eu também procurei todas as opções de g ++ que têm file
, mas não encontrei nada para responder a minha pergunta.
Como posso fazer isso? Como ler a entrada c ++ do arquivo externo em vez de lê-lo no terminal?
Isso não tem nada a ver com gcc (ou g ++): o que você precisa é de redirecionamento de arquivos
./y.out < file.in
ou (para redirecionar a saída do programa, bem como sua entrada)
./y.out < file.in > file.out