Char in String schreiben
-
Ich habe ein Feld mit char, und möchte diese in einen string schreiben:
string s; unsigned char Zahl[]; . . . for(i=0;i<lastByte;i++); { s=(s+Zahl[j]+"") }
lastByte ist variabel
Da bringt er mir aber eine Fehlermeldung:
error C2782: 'class std::basic_string<_E,_Tr,_A> __cdecl std::operator +(const class std::basic_string<_E,_Tr,_A> &,const _E)' : Vorlagenparameter '_E' ist mehrdeutig koennte 'unsigned char' sein oder 'char'
Wie kann ich ihm sagen das es ein unsigned char ist?
-
wenn ich Dich richtig verstanden habe, kannst Du dafür einfach
einen der Konstruktoren der Klasse string verwenden:
so z.B.:string *s = new string( char* str ); also für Dich: string s = string( zahl ); um nur einen Teilstring von 0 bis 0+lastbyte zu erhalten verwendest Du dann substring: s= s.substr(0,lastbyte)
für andere Konstruktoren und Methoden für strings kann ich Dir
http://www.cppreference.com/cppstring/string_constructors.html
empfehlen.Grüße,
Raphael
-
EDIT: *Hier stand Müll*
-
Hilft Dir das?
std::string myString; unsigned char Zahl[] = { 'a', 'b', 'c' }; for( unsigned int idx = 0; idx < sizeof(Zahl); idx++) { myString += Zahl[idx]; } std::cout << myString << std::endl;
Gruß
H.-Gerd