Galera, no livro Treinamento em linguagem c++ módulo 2 a autora mostra o seguinte código para ler e gravar um caractere por vez no arquivo:
#include <fstream>
#include <iostream>
using namespace std;
int main(){
ofstream fout("teste.txt");
char ch;
while(cin.get(ch)) fout.put(ch);
return 0;
}
mas no linux, quando estou digitando o texto no terminal não consigo encerrar a leitura. quando aperto ctrl z aparece ^z no terminal e não encerra. Como faço para encerrar essa leitura? Estou achando que o ctrl z só funciona no windows (inserindo o caractere end-of-file) mas como faço para parar a leitura no linux?
Andei pesquisando e parece que a função get retorna um ponteiro para um objeto stream, então acho que não tem como fazer o argumento do while ser 0 (falso). Alguém pode ajudar?
Pergunta
jairjua
Galera, no livro Treinamento em linguagem c++ módulo 2 a autora mostra o seguinte código para ler e gravar um caractere por vez no arquivo:
#include <fstream>
#include <iostream>
using namespace std;
int main(){
ofstream fout("teste.txt");
char ch;
while(cin.get(ch)) fout.put(ch);
return 0;
}
mas no linux, quando estou digitando o texto no terminal não consigo encerrar a leitura. quando aperto ctrl z aparece ^z no terminal e não encerra. Como faço para encerrar essa leitura? Estou achando que o ctrl z só funciona no windows (inserindo o caractere end-of-file) mas como faço para parar a leitura no linux?
Andei pesquisando e parece que a função get retorna um ponteiro para um objeto stream, então acho que não tem como fazer o argumento do while ser 0 (falso). Alguém pode ajudar?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.