auslesen von chars schlägt fehl.
-
Hallo habe ein chararray aus dem ein teil der chars auslesen und in ein neues chararray packen will.
//fill origin string geht ohne probleme char *Taskstring = new char[length+1]; memset(Taskstring, '\0', length+1); char byte[1]; for (int h=0; h < length ;h++){ byte[0] = file.readUint8(); strncpy(Taskstring+h,byte,1); } char* partly_string = new char[length] memset(partly_string, '\0', length+1); //nun das teilweise auslesen for (int alpha=1;alpha < length ;alpha++){ partly_string[alpha]=Taskstring[alpha]; }Das Problem ist das er keine werte in den partly_string schreibt. Beim Debuggen sind aber die Zeichen bei Taskstring[alpha] zu sehen.
Es Klappt nur wenn ich mit alpha bei 0 starte. Ich will aber zb. das erste Zeichen wegcutten. Aber das chararray bleibt leider leer.
Hat vielleicht einer einen hinweis. Hab auch schon mit memset, memcpy versucht die chars zu füllen. Geht aber alles nur wenn ich wie gesagt bei 0 den counter starte. danke für hilfe
-
Vergiss alles mit memcpy, memset, strncpy & Co. Am besten auch char-Arrays. Da bist du anscheinend an eine Anleitung für C geraten (die in C++ wegen Abwärtskompatibilität auch funktioniert). Aber in C++ geht das alles wesentlich einfacher. Such mal auf dieser Seite nach den folgenden Stichworten:
copy, string, vector, fillDamit sollte das eigentlich ziemlich leicht sein.
-
naja gut aber am ende muss es leider für das system was ich nutze chararrays sein
-
Dann verwendest du am Ende c_str.
-
schon dabei ;).