Preciso fazer um programa em C++ que leia um arquivo txt e mostre seu conteúdo na tela. O problema que estou tendo é que o usuário é que deve escrever o nome do arquivo do qual ele deseja ver o conteúdo.
Do jeito que está, o programa irá abrir sempre o mesmo arquivo "teste.txt" e isso não serve para mim. Eu quero ter vários arquivos em txt e deixar o usuário entrar com o nome do arquivo que ele quiser abrir.
{
int linhas, colunas;
string nomearq;
string line;
cout << "Entre com o numero de linhas: "; //esses dados serão usados posteriormente
cin >> linhas;
cout << "Entre com o numero de colunas: "; //esses dados serão usados posteriormente
cin >> colunas;
cout << "Entre com o nome do arquivo: "; //nome do arquivo que o usuário quer abrir
cin >> nomearq;
cout << endl;
ifstream arquivo ("teste.txt"); //O PROBLEMA ESTÁ AQUI! Eu quero colocar a variável "nomearq" aqui dentro do argumento, mas não //funciona
if (arquivo.is_open())
{
while (! arquivo.eof() ) //enquanto end of file for false continua
{
getline (arquivo,line);
cout << line << endl;
}
arquivo.close();
}
else cout << "Problemas ao abrir o arquivo escolhido";
return 0;
}
Se alguém tiver uma solução, será de grande ajuda. Muito obrigado a todos que tentarem.
Pergunta
PGPAB
Boa tarde, pessoal.
Preciso fazer um programa em C++ que leia um arquivo txt e mostre seu conteúdo na tela. O problema que estou tendo é que o usuário é que deve escrever o nome do arquivo do qual ele deseja ver o conteúdo.
Do jeito que está, o programa irá abrir sempre o mesmo arquivo "teste.txt" e isso não serve para mim. Eu quero ter vários arquivos em txt e deixar o usuário entrar com o nome do arquivo que ele quiser abrir.
Segue o programa que eu estou usando:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main ()
{
int linhas, colunas;
string nomearq;
string line;
cout << "Entre com o numero de linhas: "; //esses dados serão usados posteriormente
cin >> linhas;
cout << "Entre com o numero de colunas: "; //esses dados serão usados posteriormente
cin >> colunas;
cout << "Entre com o nome do arquivo: "; //nome do arquivo que o usuário quer abrir
cin >> nomearq;
cout << endl;
ifstream arquivo ("teste.txt"); //O PROBLEMA ESTÁ AQUI! Eu quero colocar a variável "nomearq" aqui dentro do argumento, mas não //funciona
if (arquivo.is_open())
{
while (! arquivo.eof() ) //enquanto end of file for false continua
{
getline (arquivo,line);
cout << line << endl;
}
arquivo.close();
}
else cout << "Problemas ao abrir o arquivo escolhido";
return 0;
}
Se alguém tiver uma solução, será de grande ajuda. Muito obrigado a todos que tentarem.
Abraços,
Editado por PGPABLink para o comentário
Compartilhar em outros sites
1 resposta 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.