Ich wurde gebeten, Funktionalität zu einem bestehenden alten Projekt hinzufügen, aber ich kann es nicht zu bauen. Es behandelt Unicode-Strings, aber ich bekomme eine Menge Fehler in Bezug auf die Verwendung von TCHAR.Speziell fast jeder Fehler ist TCHAR kann nicht konvertiert oder als wchar_t verwendet werden. Von dem, was ich auf vielen verschiedenen Artikeln sah, versuchte ich mit #define_UNICODE oder #define UNICODE, aber keiner von ihnen löste das Problem.Fehler bei der Verwendung von TCHAR, kann nicht in wchar_t konvertiert werden
Hier ist ein Stück des Codes:
#include <windows.h>
#include <wininet.h>
#include <tchar.h>
#include <iostream>
#include <fstream>
#include <strsafe.h>
#include <string>
#include <list>
#include <cctype>
#include <winnt.h>
#include <atlconv.h>
#pragma comment(lib,"wininet.lib")
using namespace std;
TCHAR *tags[] = { _T("aa"), _T("bb"), _T("cc"),
NULL };
int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
for (i = 1; i<argc; i++) {
if (wcscmp(argv[i], _T("-h")) == 0) {
...
}
else if (wcscmp(argv[i], _T("-f")) == 0) {
...
}
...
}
In den obigen Zeilen beispielsweise bei der Verwendung von wcscmp, i
argument of type "_TCHAR *" is incompatible with parameter of type "const wchar_t *"
über die argv [i]
erhalten und
argument of type "const char *" is incompatible with parameter of type "const wchar_t *"
zurück ding das _T ("- h").
Alle Vorschläge würden sehr geschätzt werden.
sehr nette antwort! Ich habe mich wirklich gefragt, ob diese art von codierung tatsächlich notwendig war. Danke david! – yiannis