Hoy vamos a ver cómo leer un archivo de texto o archivo de texto plano línea por línea usando el lenguaje de programación C.

Vamos a usar las funciones fopen, fgets, strtok, fclose, entre otras. Todo esto para poder leer cada línea del archivo usando ANSI C.

Leer líneas de archivo

Primero abrimos el archivo con fopen, indicando el nombre del mismo así como el modo de apertura. También declaramos un búfer o línea en donde vamos a ir almacenando cada línea del archivo.

El búfer es importante, y su longitud debe ser declarada de tal manera que ninguna cadena tenga una longitud mayor.

En este caso usamos strtok para remover el salto de línea de la cadena, pues la misma viene del archivo con un \n.

See the gist on github.

Al invocar a fgets vamos a tener el contenido de la línea en el búfer que indicamos. Ahora ya tenemos la cadena limpia. Podemos imprimirla, agregarla a un arreglo, escribirla en otro archivo, etcétera.

Si quieres puedes probar el ejercicio en este enlace. También puedes leer más sobre C en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Hola Me gustaria saber si puedes ayudarme con mi problema de programacion..Cree un programa en python para comparar dos numeros , pero el ciclo for es muy lento.Y volver a programar en C .. me cuesta mucho .Te lo envio haber si puedes hacer algo ...Por supuesto te pagare o te invitare un par de chupitos.
    y=int(input("introduce numero A:"))
    j=int(input("introduce numero B:"))

    for i in range(1,1200000 ):
    file = open("XXpi.txt")
    nlinea = [y+i]

    for pos, l_num in enumerate(file):
    if pos in nlinea:

    a=(l_num[:3])
    b=(l_num[6:])
    file = open("XXpi.txt")
    nlinea = [i+j]

    for pos, l_num in enumerate(file):
    if pos in nlinea:
    d=(l_num[:3])
    e=(l_num[6:])

    if (a,b)==(d,e):
    print(nlinea)

Compartir
Publicado por
parzibyte

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

2 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

3 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

3 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

4 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.