Avatar billede Slettet bruger
23. august 2001 - 10:51 Der er 2 kommentarer og
2 løsninger

C++ under linux: Kontroller om en fil eksistere

Hvordan kan jeg kontrollere om en fil eksistere på disken?? Findes der en kommando der f.eks. retunere 0 hvis filen eksistere, og -1 hvis den ikke gør??

Venligst Rasmus
Avatar billede soepro Nybegynder
23. august 2001 - 11:09 #1
Yeps - du kan bruge access(char *fileName, int mode), hvor mode er 0 hvis du blot skal se om den findes.

Eks.
:
if (!access(\"C:\\\\AUTOEXEC.BAT\", 0))
{
  printf(\"Autoexec.bat findes ikke på C: drevet.\");
  return;
};
:
Avatar billede soepro Nybegynder
23. august 2001 - 11:16 #2
Der findes under DOS også:

searchpath(char *fileName)

som kan give dig den første/rigtige path på en given fil - men om noget tilsvarende findes for Unix/Linux ved jeg ikke.
Avatar billede jvc Nybegynder
23. august 2001 - 14:09 #3
systemkaldet Open retunerer -1,0 eller filehandleren. Denne kommando er universiel

pseudo ex.

int fd;
fd=open(\"readme.txt\",....) //se resten i syntaksbeskrivelsen

if (fd==-1)
  //udført kommando
else if (fd)
  // udfør kommando



Avatar billede soepro Nybegynder
03. september 2001 - 08:20 #4
jvc >> selvfølgelig - forudsat naturligvis, at der ikke er nogen der har exclusive \"I/O\" lock på den - for så får du nemlig ikke lov at åbne den !
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