Saludos!
aunque sea mi primer post, no pretendo que me hagan el programa entero,tengo una duda concreta
.
Estoy haciendo un programita de inicio a C:
-Coger el nombre d eun fichero por linea de argumentos(solucionado)
-Leer lineas de caracteres(aqui estoy)
-Guardar en el fichero que he nombrado , las lineas leidas(si consigo el anterior,ya tengo este)
Os pongo el código que llevo:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#define MAXLINE 80
main(int argc, char *argv[]){
char* nombre_fichero=argv[1];
char linea[MAXLINE];
char *lineas[10];
int seguir=1;
int i=0;
int j=0;
while(seguir){
lineas[i]=gets(linea);
if(linea[0]=='\0'){
seguir=0;
}
printf("%s\n",lineas[i]);
i++;
}printf("%s\n",lineas[0]);
}
Me voy directo al while:
-guardo en la primera posicion del puntero la primera linea
-si empieza por nuelo, sale del while
-imprimo lo que he leido, guardaod en la posicion
i del puntero
-aumento el contador i.
¿veis ese printf despues dle while?
Ahí es donde tengo el problema, imprime en blanco como si no se hubiese guardado nada en esa posicion.Es el mismo printf que esta dentro del while, pero estando fuera me imprime en blanco y estando dentro hace su función.
Me gustaría saber porqué sucede eso, si es psible, gracias.