como ler a entrada do gcc do arquivo externo

1

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?

    
por Yazan W Yusuf 21.05.2015 / 21:36

1 resposta

1

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
    
por steeldriver 21.05.2015 / 21:42