String länger als 255 Zeichen
-
Hi everyone
Wieder einmal begrüsst mich mein Auslesesystem mit einem freundlichen "Segmentation Fault". Da kommt Freude auf
.Ich konnte das Problem bisher so eingrenzen: Einige Werte, dich von verschiedenen Zählergeräten auslese, speichere ich in einem char array namens strOutput ab und schreibe diesen String anschliessend in ein Textfile. Das können jedesmal unterschiedlich viele Zähler sein, weshalb ich das Array ständig mit realloc() erweitere.
Ab einer gewissen Menge Zählergeräten erreicht der String bald mal 253 Zeichen. Und gleich beim nächsten Gerät, welches logischerweise einen realloc für mehr als 255 Zeichen benötigt, erhalte ich den Segmentation Fault.
Ist es normal, dass char arrays nicht länger als 255 Zeichen werden können?
Was kann ich dagegen tun? Muss ich den Output-string immer wieder leeren und in die Datei schreiben?
Thx für eure Hilfe und greeetz
Kessi
-
-
Nö, realloc geht normal schon mit grossen Blöcken auch - wenn du genug Speicher (genauer: Adressraum und Speicher) zur Verfügung hast kannst du auch ein realloc von 500MB auf 1GB oder so machen. Poste man nen Codebeispiel. Und... wenn es in deinem Programm geht könntest du auch std::vector<char> oder std::string verwenden, da geht das "realloc" etwas einfacher und sicherer.
Und der Link vom "Google-Profi" gehört wohl in einen anderen Thread
