Leer he interpretar un txt en c++

Tengo una gran problema me dan un archivo txt y lo tengo que leer desde c o c++ el problema es que el archivo bien así:
clase   =
               {2 ,
             3                      ,
5,         6
}
Y yo debo de meter un un puntero esa información porque el archivo puede contener 1 elemento o 200 o más y después utilizar cada elemento para operaciones distintas. El problema mayor es que el dato lo debo de interpretar en el programa así:
clase={2,3,5,6}
En donde pueda utilizar el 2 o 3 o cualquier elemento dentro de las llaves en otra operación buscándolos
te agradecería mucho si me diera como poder programas algo así

1 respuesta

Respuesta
1
Primero tienes que leer los datos
       // reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main ()
{
string line, allFile;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while (! myfile.eof() )
{
getline (myfile,line);
allFile+= line;
 }
myfile.close();
}
else cout << "Unable to open file";
return 0; }
  ########     Borramos el "classe="
       string borrar = "class=";
       allFile.replace(allFile.find(borrar),borrar.length(),""); 
 ########      decomponer en una lista de cifras utilizando strtok y [size= 11.6667px]contar el numero de elementos[/size]
[size= 11.6667px]          char * pch;[/size]
[size= 11.6667px]          int contador=0;[/size]
[size= 11.6667px]          pch = strtok (str," ,{}");[/size]
[size= 11.6667px]          while (pch != NULL) {[/size]
[size= 11.6667px]               contador++;[/size]
[size= 11.6667px]               pch = strtok (NULL, " ,.-");
[/size]
[size= 11.6667px]            }     [/size]
[size= 11.6667px]
[/size]
 ########      Crear el puntero con el buen tamaño ()
       int *numeros = new int[contador];
 #########      Copiar los datos en el puntero
          char * pch;
          int contador=0;
          pch = strtok (str," ,{}");
          while (pch != NULL) {
               p[contador] = atoi(pch);
               pch = strtok (NULL, " ,.-");
            }
Solo te quedar poner todo eso en un mismo código fuente :-)
Muchas gracias inge pero hoy me cambiaron el proyecto rotundamente ya que ahora no es tener una variable si no que tener listas dinámicas utilizando memoria dinámica y el archivo cambio la verdad mucho por si me puedes ayudar otra vez te lo agradecería mucho, el archivo es este
estados={1,
                          2,4,6,                
                                                       7,8}
estado_inicial=   {
                 1
}
Estado_Aceptacion={
7,8
}
en donde el archivo tendria que estar asi:
estados={1,2,4,6,7,8}
estado_inicial= {1}
Estado_Aceptacion={7,8}
Y en donde tengo que reconocer primero la palabra estados y poner en una lista los valores 1,2,4,6,7,8 después buscar la palabra estado_inicial y crear otra lista dinámica con el valor de 1 y por ultimo el otro estado bueno si me pudiera ayudar inge se lo agradecería mucho porque sigo buscando como usar c++ pero aun no encuentro algo que me ayude en estos casos de lectura de archivo
No tengo tiempo para hacer tus ejercicios, solo te ayudare en casos concretos.
Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas