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í.
include<stdio.h>
int main(){
FILE *rv;
fopen=("/home/carpeta/x.txt",r);
if(¿?) //Aca creo que iria algo del EOF
printf("Archivo tiene contenido");
else
printf("Archivo vacio");
return 0;
}
No se de dónde has sacado ese código pero ya te digo que no va ni a compilar.
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:
FILE *rv;
rv = fopen( "/home/carpeta/x.txt", "r" );
fseek( rv, 0, SEEK_END );
if (ftell( rv ) == 0 )
{
// fichero vacio
}
Cita de: eferion 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.
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:
FILE *rv;
rv = fopen( "/home/carpeta/x.txt", "r" );
fseek( rv, 0, SEEK_END );
if (ftell( rv ) == 0 )
{
// fichero vacio
}
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