Ergebnis 1 bis 5 von 5

Thema: Problem mit mkdir?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Problem mit mkdir?

    Hallo Jungs , vor langer Zeit habe ich mich an dieses geniale Forum gewandt

    Nun habe ich wieder ein Problem mit meinem C++ Code.

    Code:
    #include <iostream>
    #include <string>   //<<-- Header
    #include <windows.h>
    #include <direct.h>
    
     
    using namespace std;
     
    int main()
    {
        cout << "Test tool" << endl;
        
       
        char laufwerk;  
        cout << "Laufwerk: " << endl;
        cin >> laufwerk;
        
        string ZielDatei = "X:\\TEST/Ordner1/File.txt";  
        ZielDatei[0] = laufwerk;  
    
        cin.get();
    
        cout << 1 << "Installiere..\n";
        cout << "1= beenden" << endl;
        
    const char* Zeiger = ZielDatei.c_str();
     mkdir("X:\\TEST//Ordner1", Zeiger, FALSE );  //ordner1 im TEST Ordner anlegen
     
        const char* Zeiger = ZielDatei.c_str(); 
         CopyFileA( "Ordner1/File.txt", Zeiger, FALSE ); // datei kopieren-im Ordner1 ist file.txt enthalten
    
        cin.get();
        return 0;
    }
    Also ich will einen ordner anlegen, dann den laufwerksbuchstaben eingeben, und dann die file.txt datei dorthin kopieren.

    Klappt aber nicht, Fehler:
    Zitat Zitat
    too many arguments to function `int mkdir(const char*)'
    Also irgendwas stimmt mit mkdir nicht.

    X = Laufwerksbuchstabe

    Könntet ihr mir bitte helfen?

    Würde mich sehr freuen weil ich auf dieses Forum vertraue

    Lg und Vielen Dank

  2. #2
    Dein Code:
    Zitat Zitat
    mkdir("X\TEST//Ordner1", Zeiger, FALSE );
    Deine Fehlermeldung:
    Zitat Zitat
    too many arguments to function `int mkdir(const char*)'
    mkdir nimmt einen Parameter.
    Du übergibst drei Parameter.

  3. #3
    Könnest du mir bitte sagen wie der Code dann lautet?

    Vielen Vielen Dank und Lg.

  4. #4
    Zitat Zitat von Fl0 Beitrag anzeigen
    Könnest du mir bitte sagen wie der Code dann lautet?

    Vielen Vielen Dank und Lg.
    Allerhöchstwahrscheinlich mkdir("X:\\TEST//Ordner1");. o_O"

  5. #5
    Zitat Zitat
    Code:
    const char* Zeiger = ZielDatei.c_str();
     mkdir("X:\\TEST//Ordner1", Zeiger, FALSE );  //ordner1 im TEST Ordner anlegen
     
        const char* Zeiger = ZielDatei.c_str(); 
         CopyFileA( "Ordner1/File.txt", Zeiger, FALSE ); // datei kopieren-im Ordner1 ist file.txt enthalten
    
        cin.get();
    Hier hast du einfach zu viel Copy & Paste gemacht.
    Um einen Ordner anzulegen, braucht die Funktion nur zu wissen, wie der Ordner heissen soll - inklusive Pfad, damit das OS weiss, wo er angelegt werden soll.
    Um eine Datei zu kopieren brauchst du allerdings Quelle, Ziel und einen Boolschen Ausdruck, ob das Kopieren abgebrochen werden soll, falls die Datei exitiert.

    Auch hast du noch einen fehler, dass du deine String Constante doppelt deklarierst. Du brauchst an der Stelle gar keine extra konstante.

    So saehe es dann wahrscheinlich richtig aus. Habs aber nicht getestet.

    Code:
     mkdir("X:\\TEST//Ordner1");  //ordner1 im TEST Ordner anlegen 
    // datei kopieren - im Quelle ist file.txt enthalten
     CopyFileA( "Quelle/File.txt", ZielDatei.c_str(), FALSE );
    
     cin.get();

    Geändert von Ineluki (05.03.2011 um 15:31 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •