Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Prüfen ob eine Datei Exisitiert

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.03.2004, 15:36 Uhr
~Wellenreiter
Gast


Hallo Leute,
ich suche eine C++ Funktion mit der ich Checken kann ob eine Datei Existiert.
Es sollte aber nicht fopen sein.

Kennt jemand eine solche Funktion ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.03.2004, 15:52 Uhr
~toxic
Gast


mit fopen wär's doch aber einfach zu machen...

ansonsten hätt ich das hier... ist aber kein ANSI !


C++:
//das iss aus nem MFC-programm !
// damit lassen sich auch dateien mittels wildcards suchen
// einfach "Test*" in Value übergeben, dann sucht er im verzeichnis
// nach der ersten datei die mit "Test" anfängt und giebt den
// vollständigen namen in Value wieder zurück. zb.:"Test0815.txt"
BOOL CDeinDlg::FileExist(CString &Value, CString sPath)
{
    CString sName = sPath + Value;
    CFileFind finder;
    BOOL exist = FALSE;
    BOOL filetest = finder.FindFile(sName);
    if (filetest)
    {
        filetest = finder.FindNextFile();
        Value = finder.GetFileName();
        finder.Close();
        exist = TRUE;
    }
    return exist;
}

--
gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.03.2004, 16:00 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


das oben lässt sich auf über _filefind der C-Standard-Bibliothek lösen. Das einfachste ist aber wie gesagt ein fopen aufruf
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.03.2004, 10:05 Uhr
~Wellenreiter
Gast


Ist die Klasse CDeinDlg eine Standart Klasse ? Müsste ich diese auch habe?

BOOL CDeinDlg::FileExist
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
31.03.2004, 11:13 Uhr
typecast
aka loddab
(Operator)


@Wellenreiter: Nein, wie der Name CDeinDlg schon sagt, ist das ein selbstgeschriebener Dialog
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
31.03.2004, 12:36 Uhr
Pablo
Supertux
(Operator)


Ich würde so machen


C++:
int fileex(const char* pfad)
{
    FILE* f;
    if (!pfad) return 0;
    f = fopen(pfad, "r");
    if (f) {
        close(f);
        return 1;
    } else return 0;  // entweder gibt es sie nicht oder man kann sie nicht öffnen
}


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
31.03.2004, 12:54 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
FloSoft postete
das oben lässt sich auf über _filefind der C-Standard-Bibliothek lösen. Das einfachste ist aber wie gesagt ein fopen aufruf

_filefind nix ANSI
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
31.03.2004, 13:36 Uhr
ao

(Operator)


Hast du kein Leserecht für die Dateien, oder warum solls kein fopen sein?

Du könntest auch mit findfirst und findnext (kann auch _findfirst und _findnext heißen) über alle Verzeichniseinträge laufen und sehen, ob du die Datei findest; alles was du dazu brauchst, ist das Recht, das Verzeichnis zu lesen.

Und dann gibt es noch die Funktion stat (oder auch _stat), die den Status eines Verzeichniseintrags (sprich File oder Unterverzeichnis) abfragt. Wenn sie erfolgreich ist, kannst du davon ausgehen, dass der Eintrag existiert.

Aber wie schon andere gesagt haben: Mit allem, was Verzeichnisse betrifft, bist du außerhalb des ANSI-Standards.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: