es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo extraer una columna específica de un archivo de texto en C?

Tengo un archivo de texto de 4 filas y 3 columnas, por ejemplo:

1 2 5
3 5 6
8 8 2
1 1 0

Quiero mover de un archivo a otro la tercera columna, para que el nuevo texto se vea así:

5
6
2
0

Lo he hecho utilizando fscanf para insertarlo en el nuevo archivo cada tercera vez. ¿Existe alguna forma mejor de acceder a la tercera columna sin escanear los primeros 2 números? Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en C y texto, existen varias formas de acceder a la tercera columna de un archivo de texto. Una forma es utilizar la función fgetc() para leer cada carácter del archivo y detectar cuando se encuentra un espacio o un salto de línea. Otra forma es utilizar la función fgets() para leer cada línea del archivo y luego utilizar la función strtok() para dividir la línea en sus columnas separadas en función del delimitador de espacio. Una vez que las columnas se han separado, se puede acceder directamente a la tercera columna. Otra forma es utilizar la función fscanf() como has sugerido, pero con un enfoque ligeramente más optimizado, omitiendo las dos primeras columnas utilizando el formato “%d %d %d” para leer directamente la tercera columna. En última instancia, el enfoque más eficiente dependerá de los requisitos y limitaciones específicas de tu proyecto.

Comments are closed.