Estou com problema no meu código que não consigo identificar.
Ele funciona perfeitamente no Linux, porém se executado no Windows, ele age de forma peculiar:
Se eu digo o nome do arquivo correto de primeira, o programa age normalmente.
Porém, se eu digo o nome errado, e na segunda tentativa disser o certo, não adianta, ele fica infinitamente no loop, dizendo que o nome está incorreto.
No Linux não existe isso, eu posso errar na primeira, na segunda, etc, não importa. Se eu disser uma vez o nome correto, o programa segue adiante.
Colarei o trecho pra análise:
#include <fstream>
...
ifstream arquivo;
char nomeArquivo[50];
...
do
{
cout << "Nome do arquivo: ";
cin >> nomeArquivo;
// cout << nomeArquivo << endl;
arquivo.open(nomeArquivo);
if(!arquivo)
cout << "Arquivo inexistente. Digite o nome do arquivo novamente." << endl;
}
while (!arquivo);
...
Coloquei um cout pra verificar se a entrada está correta, e está.
EDIT:
Ah, esqueci de dizer...
No Linux usei o g++ como compilador.
No Windows usei o compilador do Dev C++ (que é uma imitação do g++).
Pergunta
Gutovookrj
Olá.
Estou com problema no meu código que não consigo identificar.
Ele funciona perfeitamente no Linux, porém se executado no Windows, ele age de forma peculiar:
Se eu digo o nome do arquivo correto de primeira, o programa age normalmente.
Porém, se eu digo o nome errado, e na segunda tentativa disser o certo, não adianta, ele fica infinitamente no loop, dizendo que o nome está incorreto.
No Linux não existe isso, eu posso errar na primeira, na segunda, etc, não importa. Se eu disser uma vez o nome correto, o programa segue adiante.
Colarei o trecho pra análise:
Coloquei um cout pra verificar se a entrada está correta, e está.
EDIT:
Ah, esqueci de dizer...
No Linux usei o g++ como compilador.
No Windows usei o compilador do Dev C++ (que é uma imitação do g++).
Editado por GutovookrjLink para o comentário
Compartilhar em outros sites
3 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.