tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
352
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    Ich habe ein Problem:
    Wie kann man ein char in einen Pfad einfügen?

    Beispiel:

    Code :
    1
    2
    
    char Dateipfad;
    fopen("Dateipfad.txt","w+");

    Habt ihr eine Lösung?

    Vielen Dank

    cwriter
     
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

  2. #2
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    Meinst du ein "char*" ?
    Das geht einfach so:
    Code c:
    1
    2
    
    char* Pfad = "Text.txt";
    fopen(Pfad, "w+");

    Ein einzelnes Char kann eigentlich kein ganzer Pfad sein.
     
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

  3. #3
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.516
    Entweder so wie Jellysheep beschrieben hat, oder falls du den Pfad im Programm zur Laufzeit ändern willst:

    Code cpp:
    1
    2
    
    char Dateipfad[255];
    strncpy(Dateipfad, "Pfad_zur_Datei.txt", sizeof(Dateipfad)); // Hier auf Backslashes (\) achten, diese müssen maskiert werden (\\)
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  4. #4
    Crash Kid Crash Kid ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    147
    Hey,

    du kannst das ganze auf mit "fstream" machen...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    #include <fstream>
     
    char cDateipfad[128];
    char cBuffer[1024];
    fstream fDatei;
     
    fDatei.open(cDateipfad, ios::in | ios::binary);  //ios::out zum schreiben und ios::trunc um den Inhalt zum löschen bevor man schreibt
    if(fDatei.good())
    {
        fDatei.read(cBuffer, sizeof(cBuffer));  //fDatei.write(); zum schreiben
    }
    fDatei.close();
     
    Wenn meine Antwort nützlich bzw. hilfreich war, würde ich mich sehr über eine Bewertung bzw. ein Danke sehr freuen.

    Danke euch


    Programmiere in C, C++ auf Windows XP, Vista und Windows 7
    Spezialisiert auf Netzwerkprogrammierung, WinAPI uvm.

  5. #5
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Zitat Zitat von Crash Kid Beitrag anzeigen
    du kannst das ganze auf mit "fstream" machen...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    #include <fstream>
     
    char cDateipfad[128];
    char cBuffer[1024];
    fstream fDatei;
     
    fDatei.open(cDateipfad, ios::in | ios::binary);  //ios::out zum schreiben und ios::trunc um den Inhalt zum löschen bevor man schreibt
    if(fDatei.good())
    {
        fDatei.read(cBuffer, sizeof(cBuffer));  //fDatei.write(); zum schreiben
    }
    fDatei.close();
    Moin,

    hmm, es ging ja eher um das Füllen der Dateipfad-Variablen, oder ?
    In Deinem Beispiel würdest Du ein "open" mit der leeren Variablen "cDateipfad" versuchen

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  6. #6
    Crash Kid Crash Kid ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    147
    Ein Programmierer der ein bisschen mit denkt (was man eigentlich schon erwarten kann ),
    hätte in die cDateipfad den Pfad reinkopiert mit der Funktion, was mein Vorgänger schon geschrieben hat.
    Ich wollte es nicht nochmal wiederholen, aber wenn es dich dann beruhigt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    #include <fstream>
     
    char cDateipfad[128];
    char cBuffer[1024];
    fstream fDatei;
     
    strncpy(cDateipfad, "C:\\test.txt", sizeof(cDateipfad));
     
    fDatei.open(cDateipfad, ios::in | ios::binary);  //ios::out zum schreiben und ios::trunc um den Inhalt zum löschen bevor man schreibt
    if(fDatei.good())
    {
        fDatei.read(cBuffer, sizeof(cBuffer));  //fDatei.write(); zum schreiben
    }
    fDatei.close();

    zudem is dir aber nicht aufgefallen, dass der Code hier in keiner Funktion main() steht. Ohne dieser Funktion, würde das Programm so eh nicht laufen,
    aber genug dem "klugscheiserischem" hier
    Geändert von Crash Kid (17.03.10 um 20:48 Uhr)
     
    Wenn meine Antwort nützlich bzw. hilfreich war, würde ich mich sehr über eine Bewertung bzw. ein Danke sehr freuen.

    Danke euch


    Programmiere in C, C++ auf Windows XP, Vista und Windows 7
    Spezialisiert auf Netzwerkprogrammierung, WinAPI uvm.

  7. #7
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.516
    Zitat Zitat von Crash Kid Beitrag anzeigen
    Code :
    1
    
    strcpy(cDateipfad, "C:\\test.txt", sizeof(cDateipfad));
    strcpy hat nur 2 Parameter (dst und src).
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  8. #8
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    Zitat Zitat von saftmeister Beitrag anzeigen
    strcpy hat nur 2 Parameter (dst und src).
    Echt? ich finde dort auch drei Parameter. //Edit: Natürlich sind es zwei, nur bei strncpy 3.
    Synopsis #include <string.h>
    char *strcpy(char *dest, const char *src);
    char *strncpy(char *dest, const char *src, size_t n);
    Geändert von Jellysheep (17.03.10 um 20:26 Uhr)
     
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

  9. #9
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.516
    Wie du korrekt zeigst, hat strcpy zwei Parameter. strncpy (man achte auf das "n") hat drei, nämlich noch die Angabe der maximalen Länge von dst.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  10. #10
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    Oh, (Mist), das n hab ich glatt übersehen. Verzeih mir bitte.
     
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

  11. #11
    Crash Kid Crash Kid ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    147
    jo sorry, kleiner tipp fehler.

    Habs schon geändert...
     
    Wenn meine Antwort nützlich bzw. hilfreich war, würde ich mich sehr über eine Bewertung bzw. ein Danke sehr freuen.

    Danke euch


    Programmiere in C, C++ auf Windows XP, Vista und Windows 7
    Spezialisiert auf Netzwerkprogrammierung, WinAPI uvm.

Ähnliche Themen

  1. unsigned char in wide char konvertieren
    Von sand13r im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 11.08.08, 19:14
  2. char wert anderem char zuweisen (char* )
    Von Dragon_Arch im Forum C/C++
    Antworten: 14
    Letzter Beitrag: 26.05.08, 20:52
  3. rechnen mit char (int to char konvertieren)
    Von soeni1987 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 16.11.07, 22:50
  4. Char Array nach char umwandeln
    Von ProgFreak im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 01.06.07, 02:00
  5. Rückgabe von Char in Char* aus Funkrion
    Von FBIagent im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 28.06.05, 15:06

Stichworte