elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda sobre ficheros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre ficheros  (Leído 2,863 veces)
asdavid

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Duda sobre ficheros
« en: 6 Diciembre 2012, 14:53 pm »

buenas!!
como leo el salto de linea en un fichero??
ejemplo del fichero:
{
  Primera linea del fichero
  Segunda linea del fichero}
se como puedo leer la primera cadena de caracteres(primera linea),pero no se como leer la segunda, (después del salto de linea dentro del fichero).Alguien sabe??
Un saludo!
Codigo:
#include<conio.h>
#include<stdio.h>
main()
{
   File *nombre;
   char frase[30];
   nombre=fopen("Fichero.txt","r");
   fgets(frase,30,nombre)
}


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Duda sobre ficheros
« Respuesta #1 en: 6 Diciembre 2012, 15:35 pm »

Un ejemplo es el código que te paso. Puedes cambiarlo con un índice, para que sólo te lea un número determinado de líneas o ciertas líneas, como las pares o impares, etc:
Código
  1. /* Lectura hasta el final de un fichero de texto */
  2. #include <stdio.h>
  3. main()
  4. {
  5.    FILE* fichero;
  6.    char frase[81];
  7.    fichero = fopen("cantidad.txt", "wt");
  8.    fputs("1\n", fichero);
  9.    fputs("5\n", fichero);
  10.    fputs("10", fichero);
  11.    fclose(fichero);
  12.    fichero = fopen("cantidad.txt", "rt");
  13.    if (fichero == NULL){
  14.        printf("No existe el fichero!\n");
  15.        return 1;
  16.        }
  17.    while (! feof(fichero)) {
  18.        fgets(frase, 80, fichero);
  19.        puts(frase);
  20.    }
  21.    fclose(fichero);
  22. }
Saluditos!.


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Duda sobre ficheros
« Respuesta #2 en: 6 Diciembre 2012, 15:39 pm »

como leo el salto de linea en un fichero??
El nombre del tipo esta mal, debería ser "FILE". También hay que cambiar la definición de la función main y evitar el uso de la biblioteca conio de Borland. Mas información en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Para leer todas las lineas de un archivo utilizas la función fgets en un bucle, este termina cuando ella retorne NULL (eso sucede en caso de error o fin de archivo). Mas o menos así:
Código
  1. #define NUM_CHARS     256
  2. #define NOM_ARCHIVO  "Fichero.txt"
  3.  
  4. /* ... */
  5.  
  6. FILE *entrada;
  7. char linea[NUM_CHARS];
  8. int i;
  9.  
  10. /* ... */
  11.  
  12. i = 0;
  13. while (fgets(linea, NUM_CHARS, entrada) != NULL){
  14.   printf("Linea %d: %s\n", ++i, linea);
  15.   /* etc */
  16. }
  17. if (ferror(entrada)){
  18.   /* Manejo de error */
  19.   perror(NOM_ARCHIVO);
  20.   /* etc */
  21. }

Un ejemplo es el código que te paso.
Se debe evitar el uso de la funcion feof para controlar la lectura de un archivo, te comente las razones de ello en otro tema.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Duda sobre ficheros
« Respuesta #3 en: 6 Diciembre 2012, 15:57 pm »

Se debe evitar el uso de la funcion feof para controlar la lectura de un archivo, te comente las razones de ello en otro tema.
Me pillo antes de leer el otro tema, donde ya corregí lo que indicabas,  pero con la duda-repito la pregunta del otro tema-que  al usar while (fgets(frase, 81, fichero) != NULL) en lugar de while (! feof(fichero)) no me sale la primera línea.
Gracias otra vez.
Saluditos!.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre manejo de ficheros
Programación C/C++
тαптяα 6 3,149 Último mensaje 8 Septiembre 2011, 22:06 pm
por тαптяα
Duda sobre ficheros en funciones
Programación C/C++
muymuyperdido 4 2,964 Último mensaje 23 Diciembre 2012, 15:43 pm
por muymuyperdido
Evitar accion de copiar sobre mis ficheros
Seguridad
CAOTO 1 2,289 Último mensaje 24 Febrero 2013, 13:01 pm
por ‭lipman
Duda sobre llaves públicas, privadas y criptografía de ficheros con PGP
Seguridad
pepemanu1 9 7,332 Último mensaje 4 Enero 2015, 23:53 pm
por vk496
DUDA SOBRE FICHEROS EN C
Programación C/C++
elWartix 2 1,949 Último mensaje 11 Marzo 2016, 18:03 pm
por elWartix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines