Dev - C++ - AYUDA con almacenar strings de un txt en un vector

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 30 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA con almacenar strings de un txt en un vector

Publicado por Pablo (1 intervención) el 01/01/2019 21:16:35
Hola buenos días!
Necesito ayuda con un programa que estoy desarrollando.
Necesito programar un ahorcado. En el me piden que saque palabras de un listado guardado en un txt.

Hay 2100 palabras en este txt, cada una separada con espacios. Lo que se me había ocurrido para que las pueda usar era guardar cada palabra como un string dentro de un vector de 2100 espacios, es decir

-Cada palabra tendrá 20 caracteres: palabra [20]
-El vector tendrá 2100 espacios: vector [2100]

El problema es que no se como sacar del txt cada palabra y meterla en cada un apartado del vector. Se que tengo que utilizar las librerías <fstream> y <string> . Pero a la minima que lo utilizo me indica pone muchos errores.

Por favor si alguien me puede pasar una función que me sea útil se lo agradecería muchísimo.

Muchisimas gracias por adelantado a todos los que me puedan echar una mano.

Un saludo Pablo García.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de Jean Pierre
Val: 169
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA con almacenar strings de un txt en un vector

Publicado por Jean Pierre (45 intervenciones) el 02/01/2019 15:03:46
En el archivo guarda cada palabra en 1 linea diferente y usa este codigo para guardarlos en el vector

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
#include <fstream>
 
using namespace std;
 
int main()
{
	fstream fst("palabras", ios::in);
	string str;
	vector<string> palabra;
 
	if(fst.is_open()){
		while(getline(fst, str)) palabra.push_back(str);
	}else cout << "error";
 
	fst.close();
 
    return 0;
}

y donde se pone el nombre del archivo para abrirlo creo que tienes que ponerle la extencion .txt si estas en windows
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de SuperIndio

AYUDA con almacenar strings de un txt en un vector

Publicado por SuperIndio (25 intervenciones) el 02/01/2019 15:58:16
Opcion 1
grabarlo en forma line secuencial

maria
monitor
lucero
caniche
pampa
pocavida

en este caso grabarias con palabra[n] + '\n' al final basta y leer con getline()
y cada linea es un elemento del vector

Opcion 2
grabarlo en forma secuencial asi:
maria monitor lucero caniche pampa pocavida

en este caso grabarias con palabra[n] + ' ' y
leer todo con getline y despues hacer un bucle para acomodar
las palabras dentro del vector para ello busca la funcion strtok()

1
2
3
4
5
6
7
8
9
10
11
12
13
char ccTodasJuntas[4096] = {0x00};
char *token;
const char separador[2] = " ";
strcat(ccTodasJuntas, "maria monitor lucero caniche pampa pocavida");
 
token = strtok(ccTodasJuntas, separador);
i = 1;
while( token != NULL ) {
 
   printf( " %s\n", token );
   token = strtok(NULL, separador);
   i++;
}

espero te sirva
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar