bueno aquie esta mi codigo, basicamente es que tengo una base de datos en un TXT y quiero cargarla a una matriz.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
FILE *puntero;
FILE *pf;
char cad[150];
int error;
int longitud;
char matriz [2000][2000];
int renglon,columna,contador=0,tamano;
float BD[3000][3000];
float Patent[3000][3000];
int NumClases,Caracteristicas;
int validacion=0;
int clases [50];
void main (){
puntero=fopen("Basedatos.txt","r");          //abrir la BD
if(puntero==NULL)                         // verificar que exista la BD
   printf("Error al abrir el fichero");   // Imprimir el error
else{                                     //si la BD existe entonces se ejecuta lo demas
   for(int i=0; i<10000; i++){            //ciclo para leer todos los renglones de la BD
      error=feof(puntero);                //error: verifica que ya llegamos al final del documento
      if(error==0){                       //si error=0, no hemos llegado al final del documento
         fgets(cad,150,puntero);                //  leer cadena x cadena de la BD
         longitud=strlen(cad);                  //obtener la longitud de la cadena leida
         for (int i=0; i<longitud; i++){          //cilo para dividir la cadena obtenida
            if(cad==32){                     //verifico que el caracter que estoy trabajando sea un espacio
               columna=0;                         //Inicializo columna en cero
            }
            else{
               while(i<longitud){
                  if(cad!=32){                     //verifico que el caracter que trabajo no sea un espacio
                     matriz[renglon][columna]=cad;    //asigno en caracter en una nueva cadena (caracteristica X caracteristica)
                     columna++;
                     i++;
                  }
                  else{
                     renglon++;
                     columna=0;
                     break;
                  }
               }
            }
         }
         if(contador==0 && validacion==0){
            validacion++;
            for(int j=0; j<renglon; j++){
               if(j==0){
                  NumClases=atoi(matriz[j]);
               }
               else{
                  Caracteristicas=atoi(matriz[j]);
               }
            }
         }
         else if(contador==1 && validacion ==1){
            validacion++;
            for(int y=0; y<NumClases; y++){
               clases [y]=atoi(matriz[y]);
               contador=0;
            }
         }
         else{
         for(int j=0; j<=renglon; j++){
               BD[contador][j]=atof(matriz[j]);
               tamano=renglon;
               }
         }
      contador++;
      renglon=0;
      }
      else{
         break;
      }
   }
}
fclose(puntero);
         /*IMPRIMIR LA BD EN TXT*/
////////////////////////////////////////////////////////////////////////////////
pf=fopen("datos.txt","a");
for(int m=1; m<contador; m++){
   for(int n=0; n<=tamano; n++){            //imprimir BD completa en txt
      fprintf(pf,"     %.3f",BD[m][n]);
   }
   fprintf(pf,"n");
}
fclose(pf);
////////////////////////////////////////////////////////////////////////////////
            /*IMPRIMIR LA BD EN PANTALLA*/
/******************************************************************************/
for(int m=1; m<contador; m++){
   for(int n=0; n<=tamano; n++){            //imprimir BD completa
      printf("     %.3f",BD[m][n]);
   }
   printf("n");
}
/******************************************************************************/
            /*IMPRIMIR UN REGISTRO DE LA BD*/
////////////////////////////////////////////////////////////////////////////////
for(int n=0; n<=tamano; n++){              //imprimir un patron de la BD
      printf("     %.3f",BD[546][n]);
}
////////////////////////////////////////////////////////////////////////////////
            /*IMPRIMIR LA CABECERA DE LA BD*/
////////////////////////////////////////////////////////////////////////////////
printf("nnel numero de clases en la BD es: %dnnEL numero caracteristicas de cada atributo son:  %dnn ",NumClases,Caracteristicas);
for(int z=0; z<NumClases; z++){
   z++;
   printf("nla clase %d tiene: ",z);
   z--;
   printf(" %d elementos",clases[z]);
}
////////////////////////////////////////////////////////////////////////////////
getch ();
}
ESpero le entiendan, trate de comentarlo. saludosss