Zeiger - neue und gute Antworten

  • 1
    Warum Doppelstern beim Zeiger in C++?
    Antwort von notizhelge notizhelge

    Schreib den ersten Parameter mal so (also, nur in Gedanken!):

    char* cEing[256]
    

    Das ist äquivalent zu dem, was du geschrieben hast, aber klarer. Der Typ ist hier "char*", also "Zeiger auf char". Und davon ein Array namens "cEing" mit 256 Feldern. Jedes Feld ist ein Zeiger, vulgo: eine Adresse. Ich nehme mal nicht an, dass du das willst.

    Dadurch erklärt sich der Rest. Deine Schleife findet nicht das Null-Byte (was du wahrscheinlich wolltest), sondern einen NULL-Zeiger, und der kann dann wer-weiß-wo sein. Und mit *cEing='/' weißt du irgendeiner Speicherstelle, die dem Typ nach ein Zeiger wäre, den Wert '/' zu. Eigentlich zwei Fehler in einem.

    Und **cEing='/' geht dann schief, weil das Array (vermutlich) nicht initialisiert ist (jedenfalls nicht mit gültigen char-Zeigern), zudem der Zeiger jetzt wer-weiß-wohin zeigt.

    Schreib statt dessen:

     void FuegeHinzu(char cEing[256], char Datei[256])
    

    ohne das Sternchen.

    Kommentar von Doenergammler DoenergammlerDoenergammler

    Danke, jetzt weiß ich wieder, dass ein Array quasi ein Zeiger ist. So hat es zwar dann noch nicht geklappt, ich hab es dann aber so gelöst und es geht einwandfrei!

    void FuegeHinzu(char cEing[256], char Datei[256])
    {
    char *charZeiger = cEing;
    while(*charZeiger)
        charZeiger++;
    *charZeiger = '/';
    charZeiger++;
    for(int i=0; Datei[i]; i++)
        charZeiger[i] = Datei[i];
    }
    

    Ich werde diese Antwort auch dann als Hilfreichste auszeichnen ;)

    Kommentar von notizhelge notizhelgenotizhelge

    Freut mich geholfen zu haben & und vielen Dank!

  • 0
    Warum Doppelstern beim Zeiger in C++?
    Antwort von afgermany afgermany

    Wieso wendest du denn überhaupt dass Sternchen an? In dem Fall würde ich sagen brauchst du es garnicht, also ohne übergeben und ohne anwenden.

  • 2
    Geht es euch auch manchmal so, dass ihr beim Blick auf eine (nicht digitale) Uhr denkt,...
    Antwort von Bigtroll Bigtroll
    Abgestimmt für: So genau habe ich noch nie aufgepasst!

    So genau habe ich noch nie aufgepasst!

  • 0
    Mauszeiger aus einem video
    Antwort von luxuryX1 luxuryX1

    das kannst ganz normal ändern so wie den hintergrund

    also bei vista weiß ich wies geht bei anderen kp !

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.