Потеря не ascii символов из QString в char * - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть QString с не ascii символами.Я передаю эту строку QString другому процессу.Однако, когда я отлаживаю процесс получения, аргументы argv не получают правильную строку, предназначенную для источника.Мой псевдокод был бы

process.start( proc, QStringList() << "-a" <<param );
        process.waitForFinished(m_timeout);

Здесь param - это QString, которая содержит текст не ascii

1 Ответ

0 голосов
/ 23 ноября 2018

Я решил проблему с помощью следующего кода

LPWSTR *szArglist;
int argC;
szArglist = CommandLineToArgvW(GetCommandLineW(),&argC);
if(NULL==szArglist) {
          throw;
}
QString  qstrConvertFile = QString::fromUtf16((const ushort*)(szArglist[4]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...