• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

buf_13

como passar cada palavra de um ficheiro de texto para uma string

4 mensagens neste tópico

a minha dúvida e muito básica queria saber como passar cada palavra de um ficheiro de texto para uma string?? eu usei getline() com os seus parametros em que o caracter de separaçao era o espaço, mas cada vez que mudava de linha ou seja "/n" essa informaçao fica tb numa string ! como corrigir esse erro?? :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em primeiro lugar, ajudaria se pudéssemos ver o código. :D

Normalmente, quando quero extrair strings palavra a palavra, uso somente o operador >> com uma stream de input de ficheiros. o getline só se deve utilizar quando queres ler uma linha de uma vez, espaços incluídos.

#include <string>
#include <iostream>
#include <fstream>

using namespace std;

// ...

string palavra;
ifstream file_in;
file_in.open("ficheiro.txt");
file_in >> palavra; // Extrai próxima palavra
getline(file_in,palavra); // Extrai próxima linha
// ...
file_in.close();

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim e muito útil essa informação mas como faço para passar todas as palavras de um texto esse exemplo apenas passará uma palavra ?? desta forma a pontuação também é passada para uma string??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para lidar com pontuação, necessitas de fazer manipulação de strings. Tens uma série de funções para o efeito, tais como find_first_of, substr e outras.

Para separar cada palavra para uma string, podes por exemplo usar uma lista de strings e ir fazendo push_back() para as adicionar à lista. A classe da STL para listas é a list<T>. Podia passar muito tempo a tentar escrever algoritmos aqui, mas o melhor conselho que posso dar é apontar à referência das bibliotecas standard.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora