ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
2677
2677
EMPFEHLEN
-
Hi!
Ich hab folgende Funktion zur Überprüfung einer Datei auf Existenz hin geschrieben.
Falls die Datei vorhanden ist, soll true, falls nicht false ausgegeben werden.
Code :1 2 3 4 5 6 7 8
bool Dateipruefen(string dateiname) { ifstream datei(dateiname); if(datei) return true; else return false; }
Leider bringt der Compiler (Dev-C++) folgende Fehlermeldung:
"no matching function for call to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'"
Der Fehler soll in der Zeile mit "ifstream datei(dateiname)" liegen...
Weiß einer, an was das liegt?
MfG
DeChecka
-
19.06.05 17:05 #2
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ich gehe jetzt mal davon aus das du die "fstream" eingebunden hast.
Dann versuch mal
Code :1
std::ifstream datei(dateiname);
mfg
umbrasaxum
-
Jo, hab ich eingebunden...
Allerdings hab ich auch "using namespace std;" dabei...
MfG
DeChecka
-
19.06.05 17:15 #4
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ok dann kein std::
Von wlechem Typ ist dateiname?
mfg
umbrasaxum
-
Vom Typ "string"... Also der eine bestimmte Typ aus der Library.
Vielleicht geht's einfach deswegen nicht...
Übrigens hab ich gerade herausgefunden das es so geht:
Code :1 2 3 4 5 6 7 8
bool Dateipruefen(char dateiname[]) { ifstream datei(dateiname); if(datei) return true; else return false; }
Ich weiß zwar nicht genau, was die leeren Klammern "[]" hinter dem "char dateiname" bedeuten, aber es funktioniert
!
Hab das mal irgendwo gesehen und probiert
...
Vielleicht weißt du ja aber trotzdem, wieso es anders nicht geht...
MfG
DeChecka
-
19.06.05 17:29 #6
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Verdammt steht ja da oben...
Dann mach:
Code :1
ifstream datei(dateiname.c_str());
mfg
umbrasaxum
-
Ok, danke, funktioniert
!
Jetzt hab ich mal 'ne ganz simple Frage zu Dev-C++...
Ich will mich jetzt daran machen, Funktionen komplett auszulagern der Übersichtlichkeit halber.
Sprich, ich hab ein Projekt, da eine Haupt.cpp und jetzt will ich eine bestimmte Funktion, zum Beispiel Funktion.cpp für dieses Projekt machen, die ich dann aber in der Haupt.cpp benutzen kann...
Was muss ich dazu machen?
Das geht ja, oder? Also kurz gesagt will ich einfach zwei C++-Source-Code-Dateien, wo ich aber "zusammen" nutzen kann...
MfG
DeChecka
-
19.06.05 17:43 #8
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Suchfunktion!
Oder so:
Code :1 2 3 4 5 6 7 8 9 10 11
//haupt.cpp #include <iostream> include "xxx.h" int main() { hallo(); return 0; }
Code :1 2 3
//xxx.h void hallo();
Sollte so gehen. Die drei Dateien müssen einfach nur all in einem Ordner sein. Das funktioniert aber bei eigentlich allen Compilern gleich.Code :1 2 3 4 5 6 7 8
//xxx.cpp include "xxx.h" void hallo() { std::cout<<"Hallo"; }
mfg
umbrasaxum
-
Ok, cool, versuch ich gleich mal!
Danke!
MfG
DeChecka
-
Hat super funktioniert, danke!
MfG
DeChecka
Ähnliche Themen
-
Objekt auf Existenz prüfen
Von A319 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 17.06.08, 00:13 -
Auf Datei Existenz Prüfen...
Von wOp im Forum Visual Basic 6.0Antworten: 9Letzter Beitrag: 27.07.05, 22:45 -
Dateipfad auf Existenz prüfen
Von jorgeHX im Forum JavaAntworten: 2Letzter Beitrag: 30.06.05, 14:57 -
Registryeintrag auf Existenz prüfen
Von DerStatist im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 24.03.05, 14:33 -
session_start() auf existenz prüfen ?
Von methodus im Forum PHPAntworten: 6Letzter Beitrag: 20.04.02, 22:50





Zitieren
Login






