スポンサーリンク
ホーム»Qt逆引きマニュアル»Windows関連» Qt:型変換QStringとWindowsAPIで使用される型との変換
a

Qt:型変換QStringとWindowsAPIで使用される型との変換

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

コメント

タイトルとURLをコピーしました