char* -> char



  • Hi!
    Ich hab vergeblich versucht ein Zeichen aus einem char* in einen char zu speichern! 😞
    Ich hab alles Versucht (ohne int->char*):

    //Versuch 1
    int buffer;
    char *inhalt=0;
    int i=0;
    while((buffer=fgetc(datei))!=EOF){
    inhalt[i]=buffer;
    }
    //Fehler: Die Anweisung in 0x******** verweist auf Speicher Ox********. Der Vorgang
    //"written" konnte nicht auf dem Speicher ausgeführt werden 
    
    //Versuch 2
    int buffer=0;
    char *inhalt=0;
    int i=0
    while((buffer=fgetc(datei))!=EOF){
    inhalt[i]='%c',buffer; //mit %s auch schon versucht!
    }
    //Fehler: Die Anweisung in 0x******** verweist auf Speicher 0x********. Der Vorgang
    //"written" konnte nicht auf dem Speicher ausgeführt werden
    

    Ich habs noch mit itoa() usw. versucht!
    Aber entweder wirds nicht kompiliert oder es kommt die meldung:

    Die Anweisung in 0x******** verweist auf Speicher 0x********. Der Vorgang
    "written" konnte nicht auf dem Speicher ausgeführt werden

    Wenn ich das ganze erst in nen char* kopiere, funktioniert das auch nicht!

    Was meint ihr?
    Wie muss ich das machen? 😕 😕 😕



  • Kann ja auch nicht funktionieren, du versuchts einen char in einen Pointer auf char zu schreiben. Der Pointer muss aber auch auf einen Adressbereich zeigen.



  • so wird das nix. Der char* muss auch auf einen gültigen Speicherbereich zeigen.

    Wenn du auf den inhalt eines pointers, also auf das was erzeigt zugreifen
    willst, musst du ihn dereferenzieren:

    char *p = new char[10];
    *p = 'H';
    char a = *p;
    cout << a;
    delete p;
    

    Devil



  • Ah!
    Danke! 😃


Anmelden zum Antworten