Aufteilung eines Strings auf ein Array
-
Hallo,
ich möchte gerne einen String für Programmiertechnische
Zwecke in einem Array, als Hexa-Dezimalwert speichern.
Dazu ein kleines Beispiel:"evolution" >> name[0]=0x65; name[1]=0x76; name[2]=0x6f; name[3]=0x6c; name[4]=0x75; name[5]=0x74; name[6]=0x69; name[7]=0x6f; name[8]=0x6e; name[9]=0x00; // <----- name[10]=0x00; // der Rest name[11]=0x00; // muss mit name[12]=0x00; // 0x00 gefüllt name[13]=0x00; // werden :D name[14]=0x00;//Wenn ihr das wüsstet, würde ich euch lieben

Ich h
sse diese Komplexen Schleifen, die umwandeln,
auf ein Array verteilen und Auf Array-Größe Prüfen müssen,
ich hab das einfach zu selten gemacht und brauch deshalb
mal ne Vorlage
Vielen Dank
-
Listing schrieb:
als Hexa-Dezimalwert speichern.
Naja du gibst das vllt als Hex-Wert an. Aber intern läuft natürlich alles binär ab. Ist klar oder ?!
Was meinst du denn nun genau mit:
[...] einen String für Programmiertechnische
Zwecke in einem Array, als Hexa-Dezimalwert speichern. [...]Welchen String, in welchem Array, welchen Typs ?
-
Hab das mal programmiert,
hat mich einige Mühe gekostet mit den blöden
String formaten, dass immer zu konvertieren.
Bei C++ muss es eben immer umständlich sein
int _tmain(int argc, _TCHAR* argv[]) { char *name; name = new char[15]; const char *nameinput = "evolution"; sprintf(name, "%s", nameinput); std::cout<<name<<std::endl; system("pause"); }ich möchte jetzt ein array name, mit 15 werten,
wo die ersten 9 eben evolution (den hex werten der einzelnen Buchstaben)
und der rest 0x00 entsprechen
-
C++? Sieht so aus:
#include <string> using namespace std; int main() { char name[15]; string input = "evolution"; for(int i = 0; i < 15; ++i) { if(i < input.size()) name[i] = input[i]; else name[i] = 0; } }
-
Michael E. schrieb:
C++? Sieht so aus:
#include <string> using namespace std; int main() { char name[15]; string input = "evolution"; for(int i = 0; i < 15; ++i) { if(i < input.size()) name[i] = input[i]; else name[i] = 0; } }Tut mir leid, aber strings kann ich garnicht gebrauchen,
nur char. Iergendwie ist string kein C++ im eigentlichen sinne,
weil es ja so ein multi-ding ist, das mag ich garnicht
Geht das nicht mit char?
Es handelt sich ja in meinem Endprogramm um keine Konsolenapplikation
EDIT:
Ok danke hat sich gegessenMan kann einfach name[i] ansprechen und der holt sich automatisch das Format dass er brauch (in meinem fall byte)

-
Listing schrieb:
Tut mir leid, aber strings kann ich garnicht gebrauchen,
nur char. Iergendwie ist string kein C++ im eigentlichen sinne,
weil es ja so ein multi-ding ist, das mag ich garnicht
Was zur Hölle ist ein Multi-Ding? BTW ist std::string in den meisten Fällen empfehlenswerter als char *.
Geht das nicht mit char?
Natürlich.
Es handelt sich ja in meinem Endprogramm um keine Konsolenapplikation
Und?
-
Listing schrieb:
Iergendwie ist string kein C++ im eigentlichen sinne, [...]
*Grinz* ... std::string ist C++ pur :p
-
Listing schrieb:
Geht das nicht mit char?
geht

int main() { static char name[15] = "evolution"; }
-
Listing schrieb:
...
Tut mir leid, aber strings kann ich garnicht gebrauchen,
nur char....dafür gibt es c_str() bei std::string.
Gruß,
Simon2.
-
main() { char in[] = "evolution"; char out[15] = {0,}; strcpy(out,in); }