QStringとWindowsAPIで使われる型との変換
環境:QT5.5
QString から、LPCWSTRへ変換
コード
1 2 3 4 5 | // // QString str; // LPCWSTR pdtr = reinterpret_cast<LPCWSTR>(str.utf16()); |
QString から、LPCTSTRへ変換
コード
1 2 3 4 5 | // // QString str; // LPCTSTR lpcstr = reinterpret_cast<LPCTSTR>(str.utf16()); |
QString ⇔ LPCTSTRの変換
QString ⇒ LPCSTR
コード
1 2 3 4 5 6 7 | // // QString str; // LPCTSTR pstr = str->toStdString().c_str(); // memo: reinterpret_cast<LPCTSTR>(str.utf16()); は、Unicodeの場合エラーになる |
LPCTSTR ⇒ QString
コード
1 2 3 4 5 | // // LPCTSTR pstr; // QString str = QString::fromWCharArray(pstr); |
LPCSTR ⇒ QString
コード
1 2 3 4 5 | // // LPCSTR pstr; // QString str = QString::fromWCharArray(pstr); |
DWORD ⇒ QString
コード
1 2 3 4 5 | // // DWORD dwret;; // str = QString::number(dwret); |
UCHAR ⇒ QByteArray
コード
1 2 3 4 5 | // // UCHAR ucIMG // QByteArray baData = QByteArray(reinterpret_cast<char *>(ucIMG), sizeof(ucIMG)); |
ULONG ⇒ QString
コード
1 2 3 4 5 | // // ULONG ulong // QString str =QString::number(ulong); |
Windowsの型について(メモ)
CHAR char 8bit(ANSI)
PSTR or LPSTR char *
PCSTR or LPCSTR const char*
PWSTR or LPWSTR wchar_t*
PCWSTR or LPCWSTR const wchar_t*
PSTR 8bit(ANSI)
PWSTR 16bit(UNICODE)
PTSTR UNCODEが定義されていればPWSTR、そうでなければPSTR
LPSTR 8bit(ANSI)
LPWSTR 16bit(UNICODE)
LPTSTR UINCODEが定義されていればLPWSTR、そうでなければLPSTR
PCSTR 8bit(ANSI)
PCWSTR 16bit(UNICODE)
PCTSTR UNICODEが定義されていればPCWSTR、そうでなければPCSTR
LPCSTR 8bit(ANSI)
LPCWSTR 16bit(UNICODE)
LPCTSTR UNICODEが定義されていれば LPCWSTR、そうでなければLPCSTR
DWORD 32bit unsigned integer.
DWORDLONG 64bit unsigned integer.
INT 32bit signed integer.
INT8 8bit signed integer.
INT16 16bit signed integer.
INT32 32bit signed integer.
INT64 64bit
コメント