Bitweise oder bei einem char*
-
Hallo
Ich habe einen Pointer auf einen String und möchte nun bits selber setzen und ändern in dem String
Habe aber das Problem das das Programm immer abstürzt wenn ich den geänderten String wieder zurückschreiben willchar *a = "0000"; a[0] = ( a[0] | 0x08 );kann mir einer sagen was ich falsche mache bzw wie ich es richtig machen könnte?
Danke
-
Auch wenn C++ es erlaubt, ist das String-Literal eigentlich ein 'const char*' - da darste du nicht drin herumschreiben. Verwende doch ein char-Array oder (noch besser) einen std::string.
-
wenns am const char liegen sollte dann mache es doch einfach so
char *a;
a = new char[4] o. wie groß auch immer
somit reserviert nicht der compiler den speicher direkt im prog, was ich denke das const hervor ruft, sondern du reservierst wärend der laufzeit und somit nicht const.
MfG Oelsni
Nur die guten kommen in den Himmel, bloß was soll ich da^^?
-
Danke für die schnellen Antworten.
werde mal mein Glück versuchen und schauen was sich bei mir eher anbietet.
beim Testen gingen erstmal beide Wege.cu
-
oelsni schrieb:
wenns am const char liegen sollte dann mache es doch einfach so
char *a;
a = new char[4] o. wie groß auch immer
Ja, das ginge auch noch, ist nur etwas aufwendiger zu behandeln (du mußt den Speicher von Hand befüllen, Platz für den Null-Terminator lassen, Speicher wieder freigeben etc)