[C con Clase] conversion de string a int

Steven Davidson srd4121 en njit.edu
Mar Sep 29 09:34:49 CEST 2009


Hola Evelyn,

Evelyn Adaro wrote:
> el problema es que mi fichero es:
> 
> 2
> 1 1
> 1 1
> 4
> 0 -2 -7 0
> 9 2 -6 2
> -4 1 -4 1
> -1 8 0 -2
> 1
> 32
> 2
> -10 10
> -10 10
> 
> y al pasarlo asi como me dicen me toma solo los primeros
> 2
> 1
> 1
> 4
> 0
> 9
> -4
> -1
> 1
> 32
> 2
> -10
> -10
> 
> existe la posibilidad de leer la linea completa como string y despues 
> separarla en int. o al tener en el fichero los numeros separado por 
> espacio no puedo usar el metodo que me señalan???
> 

No veo que esto sea un problema. Simplemente, tendrás que averiguar 
cuántos números tienes que leer y guardar en variables. Según el formato 
de tu fichero, sospecho que se trata de matrices cuadradas de orden N, 
donde N se guarda en la línea anterior a la matriz. Esto sería,

ifstream ifs( "matrices.txt" );
int N;

ifs >> N;  // matriz de N x N

Matriz2D matriz( N, N );

// Leer de 'ifs' y guardar la información en 'matriz'
for( int fila=0; fila<N; fila++ )
   for( int col=0; col<N; col++ )
     ifs >> matriz( fila, col );

Repite todas estas lecturas hasta que se termine de leer el fichero.


Espero que esto te ayude.

Steven





Más información sobre la lista de distribución Cconclase