Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Hola, te contest entre líneas.
- El fscanf va a tratar de seguir leyendo la entrada. Te conviene leer línea por línea, y a cada línea buscarle los 3 enteros:
- for (j = 0; j < number_of_edges; j++) {
- char line[MAX_LINE_LENGTH];
- size_t chars_read;
- char new_line;
- fscanf (file, "%[^\n]%n%c", line, &chars_read, &new_line);
- int ret = sscanf(line, "%d %d %d", &a, &b, &c);
- if (ret != 3) {
- ... /* error */
- y conviene poner el código que lee una sola línea de un archivo, en una función aparte, para reutilizar ese código.
- Lo que entiendo de ese codigo es que guarda en line toda la linea que leyo de file, en chars_read la cantidad de chars que leyo, y en new_line el "\n", pero no se para que usa el chars_read ni el new_line.
- Lo probaste al código? Te fijaste de imprimir los valores de las variables que mencionás?
- Si lo hubieras hecho te habrías dado cuenta de que ambas variables tienen los valores cuyos nombres se indican:
- chars_read: cantidad de caracteres leídos.
- new_line: línea leída (sin el \n del final)
- Para mayor detalle te recomiendo que leas la documentación de la familia de funciones de "scanf".
- Luego cuando me dice que tengo que hacer la funcion que lee una sola linea, esa funcion ¿que deberia devolver?, line?
- Depende de cómo lo quieras hacer. No hay una respuesta "correcta" acá. Hacelo que devuelva lo que necesites.
- La verdad que es lo unico que me falta del tp y no tengo idea como solucionarlo.
- Podés probar con googlear un poco, estoy seguro de que hay mucha información de cómo leer una línea de un archivo en internet.
- 2) Una cosita con respecto al Makefile:
- Cuando duilio explico como hacerlo en clase nos puso que habia que poner la informacion de *.c en un archivo Makefile con el comando $ gcc -MM *.c >Makefile y luego editar ese Makefile agregandole esto:
- Myprog: *.o
- <tab>gcc -Wall -o Myprog *.o
- {La informacion obtenida con el codigo $ gcc -MM *.c >Makefile}
- En la segunda linea no seria *.c para que compile bajo el nombre de Myprog todos los .c del fichero donde estoy?
- Una cosa es "compilar" y otra "enlazar". A lo que se suele llamar "compilar" es a la suma de las 2 cosas. Lo que Duilio explicó es para "compilar" en el sentido estricto de su definición, por eso la salida son archivos ".o".
- Saludos,
- Gerardo
Add Comment
Please, Sign In to add comment