Stránka 1 z 1

jazyk C - soubory  Vyřešeno

Napsal: 17 kvě 2014 14:38
od gore227
Ahoj,
ví někdo, jak zjistit zda nějaky soubor je prázdný (neni v nem nic zapsano, 0 bajtu, .txt), když ho v programu otevřu ?
Jedna se o to ze, nekdy ten soubor je prazdny a nekdy je v nem neco zapsano a ja to potrebuji osetrit, protoze, kdyz je prazdny ma delat program jinou operaci nez kdyz prazdny neni.

Snad jsem to srozumitelne popsal.

Re: jazyk C - soubory

Napsal: 17 kvě 2014 15:22
od Tycek
Můžeš to zkusit přes fseek a ftell.
Princip je takový, že pomocí funkce fseek se přesuneš na konec souboru a pomocí funkce ftell zjistíš velikost souboru. Pokud v souboru nic není, ftell vrátí 0 (velikost = 0 bajtů).

Kód: Vybrat vše

#include <stdio.h>

int main ()
{
  FILE * pFile;
  long size;

  pFile = fopen ("myfile.txt","rb");
  if (pFile==NULL) perror ("Error opening file");
  else
  {
    fseek (pFile, 0, SEEK_END);
    size=ftell (pFile);
    fclose (pFile);
    printf ("Size of myfile.txt: %ld bytes.\n",size);
  }
  return 0;
}

Re: jazyk C - soubory

Napsal: 17 kvě 2014 16:01
od gore227
Díky, funguje to. :thumbup: