C++ und Unicode

Hallo!

Ich schreibe gerade an meinem IRC-Bot weiter und ich bin jetzt auf ein Problem gestoßen, wo ich nicht mehr weiter weiss: Ich denk jeder hier kennt im IRC den Befehl /me. Das wird gesendet als "\u0001 ACTION". Beispiel sieht z.B. dann so aus:

:RM`DJNimda3!~Nimda05@00-12-34-567-dynip.superkabel.de PRIVMSG #Nimda.DJ :ACTION sagt blubb

Das \u0001 Zeichen ist nicht sichtbar. will ich das zeichen aber in meinen quelltext als \u0001 einfügen sagt er beim kompilieren mitm gcc folgenden error:
Code:
[....]
void message ( string msg ) { // Funktion zum leichten Senden von Texten an Channel

	msg = "PRIVMSG " + CHANNEL + " :" + msg + "\r\n";
	cout << "\033[01;34m";
	cout << "Sende: " << msg << endl;
	cout << "\033[01;37m" << endl;
	send ( sockfd, msg.c_str(), strlen ( msg.c_str() ), 0 );

}
[...]
message ( "\u0001ACTION schiebt " + sender +" einen Keks in den Mund! Krüüüüüüüüümelmonsta! :D" );
[...]

/home/nimda05/QuakeBot/src/quakebot.cpp:491: error: \u0001 is not a valid universal character
Was kann ich tun?


Danke und Gruß

Nimda05
 
Versuch's mit weiterer Zerteilung, in etwa so:

Code:
/* (Du musst übrigens, afaik, am Ende wieder \0001 einfügen) */

message(wchar_t(0x01)+ "ACTION schiebt " + sender +" einen Keks in den Mund! Krüüüüüüüüümelmonsta! :D"+wchar_t(0x01));

MfG
 
Dann kriege ich leider folgenden Fehler:

Code:
/home/nimda05/QuakeBot/src/quakebot.cpp:524: error: no match for 'operator+' in 'std::operator+(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>](((const char*)" einen Keks in den Mund! Kr\37777777703\37777777674\37777777703\37777777674\37777777703\37777777674\37777777703\37777777674\37777777703\37777777674\37777777703\37777777674\37777777703\37777777674\37777777703\37777777674\37777777703\37777777674melmonsta! :D")) + 1'
 
schreib noch ein "\" vor dein \u0001:

Code:
message ( "\\u0001ACTION schiebt " + sender +" einen Keks in den Mund! Krüüüüüüüüümelmonsta! :D" );
 
Zurück
Oben