Eine Frage zur Nullterminierung
-
@SeppJ sagte in Eine Frage zur Nullterminierung:
Ach, jetzt wollte ich gerade deine zweite Frage beantworten, aber du hast es offensichtlich selbst entdeckt und sowohl den Fehler als auch die Frage wegeditiert
Ja, ich habe in der Tat schnell den Fehler gefunden. Hatte die Klammerung falsch .... Danke trotzdem
-
@SeppJ sagte in Eine Frage zur Nullterminierung:
@freakC sagte in Eine Frage zur Nullterminierung:
Also liegt es daran, dass bei mir malloc den Rest des Speichers mit 0 initialisiert?
Unwahrscheinlich. Malloc selber wird nichts machen (außer vielleicht im Debugmodus). Aber ein Programm bekommt von typischen Betriebssystemen Speicher zugewiesen, der anfänglich genullt ist, aus Sicherheitsgründen. Und da dies dein erstes und einziges malloc im Programm ist, ist der an dieser Stelle noch in diesem Ursprungszustand. Nach ein paar Runden malloc, Schreiben, und free wird sich das aber ändern.
Okay, gut zu wissen. Also immer schön händisch Strings terminieren
Grüße
-
@freakC sagte in Eine Frage zur Nullterminierung:
Okay, gut zu wissen. Also immer schön händisch Strings terminieren
Eigentlich auch nicht wirklich. Ich war davon ausgegangen, dass dein Code hier nur irgendwelche Lernexperimente sind, daher habe ich nichts gesagt. Aber nichts davon würde man jemals auch nur so ähnlich in echtem Code machen. In echtem Code würdest du die ganzen Standardfunktionen zur Stringbearbeitung nutzen, die sich dann in aller Regel sowieso um das korrekte Einhalten des C-Stringkonzepts kümmern.
-
@freakC sagte in Eine Frage zur Nullterminierung:
Malloc selber wird nichts machen (außer vielleicht im Debugmodus).
Ja, die MSVC Runtime macht das im Debug Mode so, malloc/new gibt da Speicher zurück der mit einem bestimmten Muster gefüllt wurde (0xCD oder sowas). Sehr praktisch um solche und ähnliche Fehler zu finden.
-
Wenn Du mit Null initialisierten Speicher willst dann nimm
calloc()
.
-
Danke für die Infos zur Nullterminierung. Das kommt im nächsten Semester und weiß dann schon, worauf ich zurückgreifen werde!
-
@codegod70 sagte in Eine Frage zur Nullterminierung:
Danke für die Infos zur Nullterminierung. Das kommt im nächsten Semester und weiß dann schon, worauf ich zurückgreifen werde!
Bitte hör auf, jeden Thread mit einer nichtssagenden Floskel zu versehen!
-
@SeppJ Tut mir leid, wenn ich mich über die einzelnen Beiträge freue. Endlich habe ich was gefunden, dass mir weiter hilft. Aber wenn das nicht erwünscht ist, was soll ich machen? Ich möchte doch nur in einer Community mich zugehörig fühlen.
-
@codegod70 sagte in Eine Frage zur Nullterminierung:
@SeppJ Tut mir leid, wenn ich mich über die einzelnen Beiträge freue. Endlich habe ich was gefunden, dass mir weiter hilft. Aber wenn das nicht erwünscht ist, was soll ich machen? Ich möchte doch nur in einer Community mich zugehörig fühlen.
Vereinzelt ist das ja nicht verkehrt, aber: Alle diese Threads poppen jetzt für jeden Nutzer in den Feed, dass es Neuigkeiten gibt. Und dann haben sie jetzt 15+ Threads, in denen nur Dinge wie "Danke" oder "Ich auch" stehen. Sind das in der Menge wirklich lesenswerte Kommentare?
-
@SeppJ Wie gesagt, es tut mir leid. Werde mich zurückhalten.
-
@codegod70 Wenn du einzelne Beiträge besonders hilfreich findest, kannst du sie auch einfach up-voten (mit dem kleinen "∧" Button rechten nebem dem "Zitieren" Link). Da freuen sich vermutlich die meisten drüber und du störst keine anderen damit.