Code:
memset(matriz1,'\0',sizeof(matriz1));
memset(matriz2,'\0',sizeof(matriz2));
while(fgets(buffer,255,alumnos)) {
int len;
len = strlen(buffer);
if(buffer[len-1] == '\n') {
buffer[--len] = 0;
if(buffer[len-1] == '\r')
buffer[--len] = 0;
}
if(!buffer[0] || buffer[0] == '#')
continue;
strncpy(matriz1[i], buffer, 45);
matriz1[i][44]='\0';
// printf("\nI: %i, valor: %s", i, matriz1[i]);
fflush(stdout);
i++;
}
m=i;
/*
limit=str_search(matriz1[0],"#",1);
memset(row,'\0',sizeof(row));
strncpy(row, matriz1[0], limit);
row[limit-1]='\0';
*/
for(j=0; j<=m; j++) {
if(strlen(matriz1[j])<=1)
continue;
limit=str_search(matriz1[j],"#",1);
memset(row,'\0',sizeof(row));
strncpy(row, matriz1[j], limit);
row[limit-1]='\0';
for(i=0; i<=m; i++){
if(strlen(matriz1[i])<=1)
continue;
/* Matriz1[i] es menor que row */
if(strncmp(row,matriz1[i],limit-1)>0){
limit=str_search(matriz1[i],"#",1);
memset(row,'\0',sizeof(row));
strncpy(row, matriz1[i], limit);
}
}
printf("\n\nEl menor es : %s",row);
strncpy(matriz2[index_matriz2], row, 45);
matriz2[index_matriz2][44]='\0';
matriz1[i][0]='\0';
index_matriz2++;
memset(matriz1[i],'\0', sizeof(matriz1[i]));
for(aux=0; aux<150; aux++){
if(strlen(matriz1[aux])>1)
limit=str_search(matriz1[aux],"#",1);
memset(row,'\0',sizeof(row));
strncpy(row, matriz1[0], limit);
row[limit-1]='\0';
break;
}
}
printf("\n\nImprimiendo matriz 2\n");
for(i=0; i<=m; i++){
printf("\nI: %i; %s",i, matriz2[i]);
fflush(stdout);
}
Thanks