strcpy typedef
-
Ich benutze dev-c++ aus irgendeinen mir unbekannten grund
kann ich die some_data (char) nicht in uncomdata (unsigned char)
kopieren ... hat jemand eine idee???unsigned char *uncomdata; uncomdata = new unsigned char[strlen(some_data)+1]; strcpy(uncomdata, some_data);
mfg Witec
-
Warum machst du nicht bei beiden Variablen denselben Typ?
-
witec schrieb:
hat jemand eine idee???
ach, ich hab ganz viele davon, aber die will meistens keiner hören.
unsigned char *uncomdata; uncomdata = new unsigned char[strlen(some_data)+1]; strcpy(uncomdata, some_data);
[/quote]
da hat der compiler angst.
am besten, du befolgst den rat von chille07.
falls das nicht geht, kannste ihm zur not auch mal mit nem cast in die dinger treten.unsigned char *uncomdata; uncomdata = new unsigned char[strlen(some_data)+1]; strcpy((char*)uncomdata, some_data);
aber das geht nicht lange gut. irgendwann rächt er sich, wenn man das zu oft macht.
-
witec schrieb:
Ich benutze dev-c++ aus irgendeinen mir unbekannten grund
lol
-
wenn ich jetzt eine unsigned long wert habe...
und auch mit einen cast zutreten? da fängt der nämlich an zu heulen
uncomdatalength (int= strlen(uncomdata);
-
um das ganze unabhängig vom Datentyp von some_data zu machen, würde ich (wie immer) über einen stringstream gehen.
like:unsigned char *uncomdata; double some_data=2.34; //egal ob double, int oder char strstream tempStr; string tempS; tempStr<<some_data; tempStr>>tempS; uncomdata = new unsigned char[tempS.length()+1]; tempStr.clear(); tempStr<<some_data; tempStr>>uncomdata;
-
ich habe es jetzt so gelöst..
unsigned long comdatalength; uncomdatalength = strlen((char *)uncomdata);
danke an alle!
-
für Längen angaben nimmt man den Typ size_t und nicht unsigned long