Leer una linea de DOS en DOS
Hola , alguien podria darme alguna pista para resolver un problemilla , que creo que es algo facil de resolver pero creo que estoy tan embotao que no logro sacar la solución por mas vueltas le da uno , aunque ya veo que mas de uno tiene problemillas con la función fgets , que menuda es jajajaja.
haber comento la jugada , hago lo siguiente .
cojo una linea de un archivo con fgets
siendo la linea que cojo la siguiente:
1,2,,3,4,,5,6,,7,8 (lo de las comitas me trae loco ya porque hay separaciones con dos comas)
*/ esto es lo que hago para coger la linea*/
fgets(line,25,file);
/*el problema ha resolver es que debo coger de esta linea los numeros de dos en dos he imprimirlos en pantalla*/
tok=strtok(line,","); /*cojo la linea hasta la primera coma y la imprimo */
printf("resultado = %s, " , tok); /* cogo el caracter por detras de la coma hasta que llega a la siguiente coma*/
tok=strtok(0,",");
printf(" %s",tok);
el resultado en pantalla es 1,2
el caso es que esto debería ser sencillo pero si intento coger los dos numeros siguientes el 3 y 4 con el mismo método no lo logro hacer porque se me repite los números que he cogido ya . ¿Como puedo hacerlo alguien sabría dar algún dato sobre la respuesta al problema , estaría tremendamente agradecido . Un saludote a todo el mundo .
haber comento la jugada , hago lo siguiente .
cojo una linea de un archivo con fgets
siendo la linea que cojo la siguiente:
1,2,,3,4,,5,6,,7,8 (lo de las comitas me trae loco ya porque hay separaciones con dos comas)
*/ esto es lo que hago para coger la linea*/
fgets(line,25,file);
/*el problema ha resolver es que debo coger de esta linea los numeros de dos en dos he imprimirlos en pantalla*/
tok=strtok(line,","); /*cojo la linea hasta la primera coma y la imprimo */
printf("resultado = %s, " , tok); /* cogo el caracter por detras de la coma hasta que llega a la siguiente coma*/
tok=strtok(0,",");
printf(" %s",tok);
el resultado en pantalla es 1,2
el caso es que esto debería ser sencillo pero si intento coger los dos numeros siguientes el 3 y 4 con el mismo método no lo logro hacer porque se me repite los números que he cogido ya . ¿Como puedo hacerlo alguien sabría dar algún dato sobre la respuesta al problema , estaría tremendamente agradecido . Un saludote a todo el mundo .
Creo que te has complicado la vida un poquito , mira lo que tienes que hacer es leer caracter por caracter ,
"line" la has tomado como una matriz con una longitud de 25 caracteres , entontes lo que debes hacer es:
fprintf(file,"c",line[0]); /* c lee un caracter de la matriz en la posicion 0*/
fprintf(file,"c",line[2]);
y asi sucesivamente encontrando la posicion del caracter que deseas , venga un saluido
"line" la has tomado como una matriz con una longitud de 25 caracteres , entontes lo que debes hacer es:
fprintf(file,"c",line[0]); /* c lee un caracter de la matriz en la posicion 0*/
fprintf(file,"c",line[2]);
y asi sucesivamente encontrando la posicion del caracter que deseas , venga un saluido
