Estoy usando AIX. Hay varias publicaciones de fallas de segmentación con strtok pero no pude encontrar ninguna que me ayude.
Estoy escribiendo un programa ac y quiero leer un archivo en el programa y luego ordenar esta línea (solo necesito los minutos y los segundos al final de la segunda línea).
aquí hay un fragmento de mi código:
FILE *timeFile; int x, timeElapsed; char line[1000], *temp; int main() { x = 0; timeFile= fopen("time.txt", "r"); if(timeFile==NULL) { printf("\nerror opening file time.txt\n"); printf("\nPlease update system time manually\n"); return 1;//error } while( x<10 && fgets(line, sizeof(line), timeFile)!= NULL) { if( x==1 )//we need data from the second line { temp = strtok(line, " "); printf("\nline: %s",line);//the Output here is as expected 'line: real' printf("\ntemp: %s",temp);//the error occurs here at temp break; } x++; } }El archivo que estoy tratando de leer tiene esto dentro:
real 0m1.25s user 0m0.09s sys 0m0.02sLa primera línea está en blanco (creo que solo es un carácter de retorno) y 'real 0m1.25s' es la segunda línea. Quiero leer sólo la segunda línea. El error ocurre cuando trato de leer la variable temporal.
Lo gracioso es que he usado casi el mismo código para el mismo trabajo en otro programa y funcionó. La única diferencia era que en el archivo de entrada del proyecto anterior no había líneas en blanco ni tabulaciones. Así que estoy confundido por favor ayuda.
PD: estoy usando un teclado alemán, por lo que escribe en mayúsculas las palabras por sí solo, lo siento.