Hallo, ich schreibe momentan an einem RSS-Reader, der die Feeds filtert und auf einem SQL-Server speichert.
Später will ich die dann über ein Webinterface durchsuchen können. In Autoit hätte ich das ganze wahrscheinlich
in kürzester Zeit programmiert, aber ich will das ganze später auf meinem Raspberry Pi (ARM-Prozessor, Linux)
laufen lassen, deshalb musste ich C++ nehmen. Den Netzwerkteil ([Only registered and activated users can see links. Click Here To Register...]) und den Regexteil (BOOST) habe ich schon erledigt.
Bei dem ersten Test habe ich bemerkt, das Zeichen außerhalb des ASCII-Bereiches (0x20 - 0x7e) nicht richtig dargestellt werden.
Meine erste Vermutung war, dass es an der Konsole liegen muss, das z. B. Ä, Ö, Ü nicht richtig ausgegeben werden
(das Problem hatte ich vor ein paar Jahren schon einmal).
Also habe ich mir einfach mal den String in die Zwischenablage kopieren lassen mit
Resultat: selbes Problem!
Das habe ich schon alles ausprobiert:
Verwendete IDE: Visual Studio 2013
Verwendetes Platformtoolset: Visual Studio 2012 ([Only registered and activated users can see links. Click Here To Register...])
Ich hoffe, es gibt eine einfache Lösung, bei der es dann später auch keine Probleme mit GCC gibt.
Später will ich die dann über ein Webinterface durchsuchen können. In Autoit hätte ich das ganze wahrscheinlich
in kürzester Zeit programmiert, aber ich will das ganze später auf meinem Raspberry Pi (ARM-Prozessor, Linux)
laufen lassen, deshalb musste ich C++ nehmen. Den Netzwerkteil ([Only registered and activated users can see links. Click Here To Register...]) und den Regexteil (BOOST) habe ich schon erledigt.
Bei dem ersten Test habe ich bemerkt, das Zeichen außerhalb des ASCII-Bereiches (0x20 - 0x7e) nicht richtig dargestellt werden.
Meine erste Vermutung war, dass es an der Konsole liegen muss, das z. B. Ä, Ö, Ü nicht richtig ausgegeben werden
(das Problem hatte ich vor ein paar Jahren schon einmal).
Also habe ich mir einfach mal den String in die Zwischenablage kopieren lassen mit
Code:
bool setClipBoardString(string source) {
if(OpenClipboard(NULL)) {
HGLOBAL clipbuffer;
char * buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, source.size()+1);
buffer = (char*)GlobalLock(clipbuffer);
strcpy(buffer, LPCSTR(source.c_str()));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
return true;
}
return false;
}
Das habe ich schon alles ausprobiert:
Clipboard statt KonsoleUnicode einstellen als Zeichensatz in den Projekteinstellungenwcout statt coutneues leeres Projekt anlegen und Code weiter unten ausprobierenmain.cpp in Unicode speichern
Code:
#include <iostream>
#include <string>
using namespace std;
void main() {
wstring test;
cout << "ÄÖÜäöü" << endl;
wcout << "ÄÖÜäöü" << endl;
wcin >> test;
}
Verwendetes Platformtoolset: Visual Studio 2012 ([Only registered and activated users can see links. Click Here To Register...])
Ich hoffe, es gibt eine einfache Lösung, bei der es dann später auch keine Probleme mit GCC gibt.