LKBEN11207: Convert LPTSTR to QString with UNICODE defined


This article has not been checked!

LKB | Created: 02/04/2020 | Version: 0 | Language: EN | Rating: 0 | Outdated: False | Marked for deletion: False

Author: Wim Peeters - Keskon GmbH & Co. KG


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
...

About the Author

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 in different European countries and different European languages. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform where he is one of the most important contributors and the main developer.

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!