LKBEN11207: Convert LPTSTR to QString with UNICODE defined


Symptom

On Windows you often have LPTSTR string and you need to convert them

Cause

none

Solution

A LPTSTR depends on the UNICODE environment found on the Windows System. If UNICODE is defined an LPTSTR is the same as an LPWSTR.

In this case we are dealing with a wide string. Here an exaple how you can convert it to a QString.

...
    ui.setupUi(this); //setup some user interface

    LPTSTR testStr = L"and I am a LPTSTR defined in the Windows headers!";

    QString qtTestStr = "This is the pure QString... ";

    qtTestStr += QString::fromUtf16(testStr); //concatenate

    ui.plainTextEdit->setPlainText(qtTestStr); //set it as text to some UI widget
...

Disclaimer:

The information provided in this document is intended for your information only. Lubby makes no claims to the validity of this information. Use of this information is at own risk!

About the Author

Author: Wim Peeters - Keskon GmbH & Co. KG

Wim Peeters is electronics engineer with an additional master in IT and over 30 years of experience, including time spent in support, development, consulting, training and database administration. Wim has worked with SQL Server since version 6.5. He has developed in C/C++, Java and C# on Windows and Linux. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform.