Avatar billede dmg Nybegynder
01. maj 2003 - 09:32 Der er 13 kommentarer og
1 løsning

Hvordan tjekker jeg at et dokument er tomt?

Hej gutter...

Jeg er ved at lave et lille log program. Hvordan kan jeg tjekke at en fil er tom? Jeg er ret nybegynder ;-)
Avatar billede jpk Nybegynder
01. maj 2003 - 09:34 #1
Du kunne fx tjekke om størrelsen en 0...
Avatar billede dmg Nybegynder
01. maj 2003 - 10:14 #2
kan du evt skrive en lille kode der gør sådan. Som sagt, jeg er total newbie...
Avatar billede jpk Nybegynder
01. maj 2003 - 10:17 #3
Jamen du har jo ikke angivet om det er til Windows, DOS, UNIX eller..?
Hvilket udviklingsmiljø?
Bruger du nogle "extra" libs, som fx MFC?
Avatar billede arne_v Ekspert
01. maj 2003 - 10:23 #4
Så godt som alle C/C++ compilere kan bruge stat !
Avatar billede arne_v Ekspert
01. maj 2003 - 10:27 #5
Eksempel:

#include <stdio.h>
#include <sys/stat.h>

int main()
{
  struct stat buf;
  stat("zz.c", &buf);
  printf("size=%d\n",buf.st_size);

}

NB: det er dog muligt at sys/stat.h skal ændres til noget
andet afhængigt af system & compiler.
Avatar billede dmg Nybegynder
01. maj 2003 - 10:28 #6
Nårrr ja... sorry.

Jeg bruger borland c++ builder 5. Jeg er ved at øve mig lidt i c++.

Det hele skal bruges til dos.

Jeg har indtil videre lavet en masse som virker ok. Når man køre programmet laver den en fil, hvorden bliver kaldt efter dags dato. Herefter smider den noget info ind i filen. Eftersom jeg har lavet en .csv fil, ville jeg meget gerne ha at der for toppen i filen stod i den ene celle "Dato" næste celle "tidspunkt" osv.

Det gør den også, men den skriver det også på næste linie. Derfor ville jeg gerne ha en kode, hvor man siger:

Hvis dokumentet ikke er tomt skal den ik udfører noget og hvis det er tomt skal den skrive "Dato" og "Tidspunkt"  for toppen.

Håber du kunne forstå hvad jeg mente ;)
Avatar billede dmg Nybegynder
01. maj 2003 - 10:35 #7
hej arne.

Jeg kan ik helt hitte ud af din kode ;-)
Avatar billede arne_v Ekspert
01. maj 2003 - 10:42 #8
Du kalder stat med en informations struct og stat fylder så en masse
information i den struct heriblandt størrelsen.
Avatar billede dmg Nybegynder
01. maj 2003 - 10:45 #9
hhm... jamen jeg ved ik rigigt hvordan jeg selv laver header filer osv.

Er det ik muligt at lave en kode der siger. Hvis dokumentet er tomt skal den gøre "sådan" og hvis ik "sådan...."??? Jeg troede det ville være noget at det leteste at lave??
Avatar billede arne_v Ekspert
01. maj 2003 - 10:54 #10
Det er ikke så svært.

struct stat buf;
stat(filename, &buf);
if(buf.st_size>0) {
  /* whatever for ikke tom fil */
} else {
  /* whatever for tom fil */
}
Avatar billede dmg Nybegynder
01. maj 2003 - 11:12 #11
jamen, hvor og hvordan. Jeg vil sku meget gerne lærer det men eftersom jeg er helt ny på det her, ville det måske være smartere med en mere enkel løsning en at lave en ny header fil???

kan man ik bruge fseek eller fgets? Den skal jo bare lede i filen om der er noget indhold og hvis ik, skal den bare kaste en hurtig streng ind
Avatar billede dmg Nybegynder
01. maj 2003 - 11:17 #12
arrhhaa... Den eksisterede jo allerede under sys ligesom du skrev. Nu ved du hvor newbie jeg er ;)

Hvad gør jeg så herfra? Nu har jeg fået importet koden i en ny funktion.
Avatar billede arne_v Ekspert
01. maj 2003 - 11:23 #13
Jeg er ikke helt med.

Du finder størrelsen og udfører noget kode hvsi den er større end nul
og noget andet hvis ikke.
Avatar billede dmg Nybegynder
01. maj 2003 - 12:54 #14
arrhaaa fandt ud af det ;-) Du er jo smart !!!

Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester