Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Como leer un fichero

Estas en el tema de Como leer un fichero en el foro de C/C++ en Foros del Web. Buenas, tengo problemas con un programa que usa varias instancias, (archivos de texto llenos de datos) pero que tienen la siguiente estructura: ******** ******* ****** ...
  #1 (permalink)  
Antiguo 21/11/2014, 15:29
 
Fecha de Ingreso: junio-2011
Mensajes: 19
Antigüedad: 12 años, 9 meses
Puntos: 0
Como leer un fichero

Buenas, tengo problemas con un programa que usa varias instancias, (archivos de texto llenos de datos) pero que tienen la siguiente estructura:
********
*******
******
*****
****
***
**
*

*
***
********


Suponiendo que los asteriscos son números como puedo guardar en un vector la columna diagonal de los primeros datos?
tambien necesito guardar los datos de las filas hasta el penultimo numero, el problema es que hay espacios entre los numeros, y estos no son constantes, ademas hay numeros de 1, 2 y tres digitos, no consigo hacer que un vector se llene de los datos sin los espacios , y si lo hago me sale solo un digito por casilla en el arreglo, mi codigo va algo asi.

Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream>
  4.  
  5.  
  6. int main(void) {
  7.  
  8. FILE *fichero;
  9. char aux;
  10. char aux1[100];
  11. int cont = 1;
  12. char temp[100];
  13. int matriz[100][100];
  14. fichero = fopen("1.txt","r");
  15. if(fichero == NULL){
  16.     printf("El archivo no existe\n");
  17.     exit(1);
  18. }
  19. for(int i=1; i<3;i++){
  20.     fgets(temp,50,fichero);
  21. }
  22. while(aux != '\n'){
  23.     aux = fgetc(fichero);
  24.         if(!isspace(aux)){
  25.             printf("%c",aux);  
  26.         }
  27.             else{
  28.                 printf(" ");
  29.             }
  30.            
  31.         }
  32.  
  33.  
  34. return 0;
  35. }
saludos y gracias

Última edición por ArashiTensei; 21/11/2014 a las 21:24
  #2 (permalink)  
Antiguo 22/11/2014, 20:35
 
Fecha de Ingreso: junio-2011
Mensajes: 19
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Como leer un fichero

Bueno, eh logrado avanzar un poco, pero me topo con el problema de que me esta guardando los datos de la siguiente linea desfasados, alguien detecta el problema?

Código C++:
Ver original
  1. #include <iostream>
  2. #include <fstream>
  3. #include <sstream>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6.  
  7.  
  8. using namespace std;
  9.  
  10. int main(){
  11.     string linea;
  12.     int numero,num,i=0,j=0,cantidad;
  13.     int Matriz[100][100];
  14.     ifstream F_in;
  15.     F_in.open("1.txt");
  16.        
  17.     getline (fichero, linea);
  18.     getline (fichero, linea);
  19.     istringstream S1(linea);   
  20.         while(S1 >> numero){
  21.         cantidad = numero;
  22.             printf("%i\n\n",cantidad);
  23.     }  
  24.     while(getline (fichero, linea)){
  25.     istringstream S2(linea);
  26.         while (S2 >> numero){
  27.             if ( i == 100 ){
  28.                 i=0;j++;
  29.                
  30.             }
  31.             Matriz[i][j] = numero;i++;
  32.         }
  33.  
  34. }
  35.  
  36.         for(int i=0; i<100;i++)
  37.             printf("%i.- [%i]\n",i+1,Matriz[i][3]);
  38.     F_in.close();
  39. }

Última edición por ArashiTensei; 23/11/2014 a las 21:20

Etiquetas: fichero, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:39.