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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa para saber si un archivo esta vacío en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa para saber si un archivo esta vacío en C  (Leído 14,145 veces)
RicGeo

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Programa para saber si un archivo esta vacío en C
« en: 9 Junio 2014, 16:36 pm »

Que tal amigo quería saber si me podrían ayudar con un programa en c para saber si un archivo tiene contenido o está vacío. Me comentaron que usara EOF pero no domino bien esto, agradecería bastante su apoyo.
Este es el programita en sí.
Código
  1. include<stdio.h>
  2. int main(){
  3.    FILE *rv;
  4.    fopen=("/home/carpeta/x.txt",r);
  5.    if(¿?) //Aca creo que iria algo del EOF
  6.    printf("Archivo tiene contenido");
  7.    else
  8.    printf("Archivo vacio");  
  9.    return 0;
  10. }
  11.  


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Programa para saber si un archivo esta vacío en C
« Respuesta #1 en: 9 Junio 2014, 16:53 pm »

No se de dónde has sacado ese código pero ya te digo que no va ni a compilar.

Código
  1. fopen=("/home/carpeta/x.txt",r);

* fopen es una función, no una variable.
* r debería ser una cadena de caracteres para indicar la forma de abrir el fichero.

Por otro lado, para saber si el fichero está vacío puedes mover el cursor al final y consultar su posición en ese punto... si la posición final es 0, el fichero está vacío:

Código
  1. FILE *rv;
  2. rv = fopen( "/home/carpeta/x.txt", "r" );
  3. fseek( rv, 0, SEEK_END );
  4. if (ftell( rv ) == 0 )
  5. {
  6.  // fichero vacio
  7. }


En línea

RicGeo

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Programa para saber si un archivo esta vacío en C
« Respuesta #2 en: 9 Junio 2014, 17:05 pm »

No se de dónde has sacado ese código pero ya te digo que no va ni a compilar.

Código
  1. fopen=("/home/carpeta/x.txt",r);

* fopen es una función, no una variable.
* r debería ser una cadena de caracteres para indicar la forma de abrir el fichero.

Por otro lado, para saber si el fichero está vacío puedes mover el cursor al final y consultar su posición en ese punto... si la posición final es 0, el fichero está vacío:

Código
  1. FILE *rv;
  2. rv = fopen( "/home/carpeta/x.txt", "r" );
  3. fseek( rv, 0, SEEK_END );
  4. if (ftell( rv ) == 0 )
  5. {
  6.  // fichero vacio
  7. }
Hermano eferion gracias no sabes cuanto me haz ayudado, no me di cuenta del error del fopen por q este es un ejemplo que lo hice rápido, tengo un programa mas completo y complejo que ahora gracias a ti está finalizado miles de gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines