Copying the content of a character array to a QString in Qt

TJ1 picture TJ1 · Oct 19, 2012 · Viewed 18.8k times · Source

I have a character pointer that in any run can have different length. For example:

char*  myChar;

In one run its content can be "Hi" and in another run it can be "Bye".

I want to copy the content of myChar to a QString, for example if I have:

QString myString;

I want to copy the content of myChar to myString; how can I do that?

Answer

Dan Milburn picture Dan Milburn · Oct 19, 2012

Use QString::fromLatin1(const char*), QString::fromLocal8Bit(const char*) or QString::fromUtf8(const char*) as appropriate. Note that you can't just copy the data because QStrings contain 16-bit Unicode characters. It will always need to decode the 8-bit representation.