View Full Version : NSString to QString
ABBAPOH
4th October 2010, 08:57
How can i convert NSString to QString? Or, better NSUrl to QUrl or QString
I found inline function qt_mac_NSStringToQString, but i can't use it because headers are private and not installed on Mac by default. Besides, they use inncludes in form of "header.h" (#include <qapplication.h>) which are not seen to compiler too.
ABBAPOH
5th October 2010, 11:50
Safe variant:
QString qt_mac_NSStringToQString(const NSString *nsstr)
{
NSRange range;
range.location = 0;
range.length = [nsstr length];
QString result(range.length, QChar(0));
unichar *chars = new unichar[range.location];
[nsstr getCharacters:chars range:range];
QString result = QString::fromUtf16(chars, range.length);
delete chars;
return result;
}
Unsafe variant (a little faster):
QString qt_mac_NSStringToQString(const NSString *nsstr)
{
NSRange range;
range.location = 0;
range.length = [nsstr length];
QString result(range.length, QChar(0));
unichar *chars = reinterpret_cast<unichar *>(result.data())
[nsstr getCharacters:chars range:range];
return result;
}
Any suggestions?
philb
1st March 2011, 07:42
QString qt_mac_NSStringToQString(const NSString *nsstr)
{
NSRange range;
range.location = 0;
range.length = [nsstr length];
QString result(range.length, QChar(0));
unichar *chars = new unichar[range.length];
[nsstr getCharacters:chars range:range];
QString result = QString::fromUtf16(chars, range.length);
delete[] chars;
return result;
}
works better
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.