tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
2677
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DeChecka DeChecka ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    151
    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
     

  2. #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
     

  3. #3
    DeChecka DeChecka ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    151
    Jo, hab ich eingebunden...
    Allerdings hab ich auch "using namespace std;" dabei...

    MfG
    DeChecka
     

  4. #4
    Registriert seit
    Apr 2002
    Ort
    Delmenhorst (Niedersachsen)
    Beiträge
    3.567
    moin


    Ok dann kein std::
    Von wlechem Typ ist dateiname?


    mfg
    umbrasaxum
     

  5. #5
    DeChecka DeChecka ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    151
    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
     

  6. #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
     

  7. #7
    DeChecka DeChecka ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    151
    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
     

  8. #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();

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    //xxx.cpp
     
    include "xxx.h"
     
    void hallo()
    {
        std::cout<<"Hallo";
    }
    Sollte so gehen. Die drei Dateien müssen einfach nur all in einem Ordner sein. Das funktioniert aber bei eigentlich allen Compilern gleich.


    mfg
    umbrasaxum
     

  9. #9
    DeChecka DeChecka ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    151
    Ok, cool, versuch ich gleich mal!
    Danke!

    MfG
    DeChecka
     

  10. #10
    DeChecka DeChecka ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    151
    Hat super funktioniert, danke!

    MfG
    DeChecka
     

Ähnliche Themen

  1. Objekt auf Existenz prüfen
    Von A319 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 17.06.08, 00:13
  2. Auf Datei Existenz Prüfen...
    Von wOp im Forum Visual Basic 6.0
    Antworten: 9
    Letzter Beitrag: 27.07.05, 22:45
  3. Dateipfad auf Existenz prüfen
    Von jorgeHX im Forum Java
    Antworten: 2
    Letzter Beitrag: 30.06.05, 14:57
  4. Registryeintrag auf Existenz prüfen
    Von DerStatist im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 24.03.05, 14:33
  5. session_start() auf existenz prüfen ?
    Von methodus im Forum PHP
    Antworten: 6
    Letzter Beitrag: 20.04.02, 22:50