Qt не использует wchar_t * для строк Юникода, как обычно.Только QString или char *.Если вы хотите преобразовать QString -> char * (или char * -> QString), используйте QTextCodec .Например, в более старых версиях Windows для консоли используется кодировка cp866
, а если вы хотите отправить код Unicode QString в командную строку:
QString string = "Unicode text";
QTextCodec *codec = QTextCodec::codecForName("cp866");
QByteArray encodedString = codec->fromUnicode(string);
//encodedString.data() - char* representation of unicode QString
Для чтения входных параметров в main()
выполните преобразование следующим образом:
QTextCodec *codec = QTextCodec::codecForName("cp866");
QString strArg = codec->toUnicode(argv);