1
resposta

[Sugestão] Para o pessoal que relatou erro ao ler o arquivo .txt

Dentro do arquivo .txt, não podemos ter espaços. Se quiser deixar um espaço para organizar melhor o arquivo, essa linha deve ser comentada. Talvez o problema do colega acima, onde relatou que o número de palavras é igual a zero, seja relacionado a isto.

ex:

5 MELANCIA UVA BANANA MAÇA CAQUI

Se for deixar um espaço, precisa comentar o mesmo.

ex: 5 # MELANCIA UVA BANANA MAÇA CAQUI

1 resposta

Olá, Wagner!

Sua sugestão é muito válida e pode realmente ajudar a evitar erros ao ler o arquivo .txt. No entanto, é importante lembrar que a maneira como o código está estruturado atualmente, ele está lendo o arquivo e considerando apenas as linhas que contêm palavras.

Vamos analisar o trecho do código que faz a leitura do arquivo:

for (int i=0;i<quantidade_palavras;i++){
    string palavra_lida;
    arquivo >> palavra_lida;
    cout << "Na linha " << i << " : " << palavra_lida << endl;
    palavras-do_arquivo.push_back(palavra_lida);
}

Nesse loop, o código lê a quantidade especificada de palavras (quantidade_palavras) do arquivo. O operador '>>' lê do arquivo até encontrar um espaço em branco, uma quebra de linha ou o final do arquivo. Portanto, se houver linhas vazias ou comentadas no arquivo, elas serão ignoradas.

Assim, mesmo que haja linhas vazias ou comentadas no arquivo, elas não afetarão a leitura das palavras, desde que o número de palavras especificado no início do arquivo esteja correto.

Por exemplo, se o arquivo for assim:

5

#
MELANCIA
UVA
BANANA
MAÇA
CAQUI

O código ainda lerá corretamente as 5 palavras, pois as linhas vazias e comentadas são ignoradas.

Porém, é sempre bom ter cuidado ao criar e manipular arquivos que serão lidos pelo programa, para evitar erros inesperados. Sua sugestão de comentar linhas vazias pode ser útil em outros contextos ou em programas que leem arquivos de maneira diferente.

Espero ter ajudado e bons estudos!