日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

qstring转qchar_Qt 对QString操作

發(fā)布時(shí)間:2024/9/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qstring转qchar_Qt 对QString操作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本帖最后由 kylin_try 于 2014-4-2 19:58 編輯

QString QString::number ( ulong n, int base = 10 ) [靜態(tài)]

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

也可以參考setNum()。

QString QString::number ( int n, int base = 10 ) [靜態(tài)]

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

也可以參考setNum()。

QString QString::number ( uint n, int base = 10 ) [靜態(tài)]

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

一個(gè)把數(shù)字n轉(zhuǎn)換為字符串表示的方便制造函數(shù),n被基于base表示,默認(rèn)為10,并且必須在2到36之間。

也可以參考setNum()。

QString QString::number ( double n, char f = 'g', int prec = 6 ) [靜態(tài)]

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

根據(jù)fmt指定的格式,參數(shù)n被格式化,g為默認(rèn)情況并且可以為下列之一:

e - 格式化為[-]9.9e[+|-]999

E - 格式化為[-]9.9E[+|-]999

f - 格式化為[-]9.9

g - 使用e或f格式,看哪一個(gè)更簡(jiǎn)練

G - 使用E或f格式,看哪一個(gè)更簡(jiǎn)練

在所有的情況下,小數(shù)點(diǎn)之后數(shù)字的個(gè)數(shù)等于prec指定的精度。

double d = 12.34;

QString ds = QString( "'E' format, precision 3, gives %1" )

.arg( d, 0, 'E', 3 );

// ds == "1.234E+001"

也可以參考setNum()。

QString::operator const char * () const

返回latin1()。請(qǐng)確定已經(jīng)看到這里的警告文檔。注意對(duì)于你希望嚴(yán)格遵守Unicode的新代碼,當(dāng)你編譯你的代碼時(shí),你可以定義QT_NO_ASCII_CAST宏來隱藏這個(gè)函數(shù),這樣自動(dòng)拋出就不會(huì)被完成。這樣可以添加你可以抓住在operator!()下描述的編程錯(cuò)誤的優(yōu)點(diǎn)。

bool QString::operator! () const

如果它不是零字符串,返回真,否則返回假。

QString name = getName();

if ( !name )

name = "Rodney";

注意如果你這樣做

QString name = getName();

if ( name )

doSomethingWith(name);

它將調(diào)用“operator const char*()”,這是沒有效率的,當(dāng)你希望寫遵守Unicode的代碼時(shí),你可以定義QT_NO_ASCII_CAST宏。

當(dāng)你想使用上述的語義時(shí),請(qǐng)使用:

QString name = getName();

if ( !name.isNull() )

doSomethingWith(name);

QString & QString::operator+= ( const QString & str )

把str添加到字符串中并且返回結(jié)果的引用。

QString & QString::operator+= ( QChar c )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

把字符c添加到字符串中并且返回結(jié)果的引用。

QString & QString::operator+= ( char c )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

把字符c添加到字符串中并且返回結(jié)果的引用。

QString & QString::operator= ( QChar c )

設(shè)置字符串只包含單個(gè)字符c。

QString & QString::operator= ( const QString & s )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

把s的一個(gè)淺度復(fù)制賦值給這個(gè)字符串并且返回這個(gè)字符串的引用。這是非常快的,因?yàn)樽址疀]有被實(shí)際復(fù)制。

QString & QString::operator= ( const char * str )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

把解釋為經(jīng)典C字符串的str的一個(gè)深度復(fù)制賦值給這個(gè)字符串并且返回這個(gè)字符串的引用。

如果str為0,那么零字符串被創(chuàng)建。

也可以參考isNull()。

QString & QString::operator= ( const QCString & cs )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

把解釋為經(jīng)典C字符串的cs的一個(gè)深度復(fù)制賦值給這個(gè)字符串并且返回這個(gè)字符串的引用。

QString & QString::operator= ( char c )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

設(shè)置字符串只包含單個(gè)字符c。

QChar QString::operator[] ( int i ) const

返回在索引i處的字符,或者如果i超過字符串的長(zhǎng)度返回QChar::null。

如果QString不是常量(也就是const QString)或者const&(也就是const QString&),那么operator[]的非常量重載將被使用來替代它。

QCharRef QString::operator[] ( int i )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

這個(gè)函數(shù)返回在索引i處的字符的引用。這個(gè)結(jié)果引用可以立即被賦值或者使用,但是一旦初始字符串發(fā)生了改變,它將會(huì)變?yōu)闊o效。

如果i超過了字符串的長(zhǎng)度,那么字符串將會(huì)被使用QChar::null來擴(kuò)展,這樣QCharRef就可以引用字符串中的有效(零)字符。

QCharRef內(nèi)部類可以被常量QChar使用,但是如果你對(duì)它賦值,你就會(huì)改變初始字符串(它將會(huì)自動(dòng)分離,因?yàn)镼String是寫時(shí)復(fù)制)。如果你試圖把結(jié)果作為QChar以外的東西使用,你將得到編譯錯(cuò)誤。

QString & QString::prepend ( const QString & s )

在字符串開始處插入s并且返回這個(gè)字符串的引用。

等于insert(0, s)。

QString string = "42";

string.prepend( "The answer is " );

// string == "The answer is 42"

也可以參考insert()。

QString & QString::prepend ( char ch )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

在字符串開始處插入ch并且返回這個(gè)字符串的引用。

等于insert(0, ch)。

也可以參考insert()。

QString & QString::prepend ( QChar ch )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

在字符串開始處插入ch并且返回這個(gè)字符串的引用。

等于insert(0, ch)。

也可以參考insert()。

QChar & QString::ref ( uint i )

返回在索引i的QChar的引用,如果需要就是用QChar::null擴(kuò)展字符串。這個(gè)結(jié)果引用可以立即被賦值或者使用,但是一旦初始字符串發(fā)生了改變,它將會(huì)變?yōu)闊o效。

QString string("ABCDEF");

QChar ch = string.ref( 3 );? ?? ?? ?// ch == 'D'

也可以參考constref()。

QString & QString::remove ( uint index, uint len )

從字符串中的index位置開始移除len個(gè)字符并且返回這個(gè)字符串的引用。

如果index超出字符串的長(zhǎng)度,就什么也不發(fā)生。如果index在字符串中間,但是index加上len超過字符串的結(jié)尾,這個(gè)字符串將從index開始被截短。

QString string( "Montreal" );

string.remove( 1, 4 );? ?? ?// string == "Meal"

也可以參考insert()和replace()。

QString & QString::replace ( uint index, uint len, const QString & s )

從字符串中的index位置開始使用s替換len個(gè)字符,并且返回這個(gè)字符串的引用。

如果index超出字符串的長(zhǎng)度,就什么也不被刪除并且s被添加到字符串結(jié)尾。如果 index有效并且index加上len超過字符串的結(jié)尾,那么這個(gè)字符串將從index開始被截短,并且s被添加到字符串結(jié)尾。

QString string( "Say yes!" );

string = string.replace( 4, 3, "NO" );

// string == "Say NO!"

也可以參考insert()和remove()。

實(shí)例:listviews/listviews.cpp、network/networkprotocol/nntp.cpp和qmag/qmag.cpp。

QString & QString::replace ( uint index, uint len, const QChar * s, uint slen )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

從字符串中的index位置開始使用s中的slen個(gè)字符的QChar數(shù)據(jù)替換len個(gè)字符,并且返回這個(gè)字符串的引用。

也可以參考insert()和remove()。

QString & QString::replace ( const QRegExp & rx, const QString & str )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

用str替換字符串中出現(xiàn)的每一個(gè)正則表達(dá)式rx。返回這個(gè)字符串的引用。

QString string = "banana";

string = string.replace( QRegExp("an"), "" ); // string == "ba"

也可以參考find()和findRev()。

QString QString::right ( uint len ) const

返回包含字符串最右面的len個(gè)字符的子字符串。

如果len超過字符串的長(zhǎng)度,則整個(gè)字符串被返回。

QString string( "Pineapple" );

QString t = string.right( 5 );? ?// t == "apple"

也可以參考left()、mid()和isEmpty()。

實(shí)例:fileiconview/qfileiconview.cpp。

QString QString::rightJustify ( uint width, QChar fill = ' ', bool truncate = FALSE ) const

返回一個(gè)長(zhǎng)度為width的,包含fill填補(bǔ)的字符串,后面跟著這個(gè)字符串。

如果truncate為假并且字符串的長(zhǎng)度超過width,那么返回的字符串是這個(gè)字符串的復(fù)制。

如果truncate為真并且字符串的長(zhǎng)度超過width,那么這個(gè)字符串的復(fù)制中超過width長(zhǎng)度的任何字符都被移除并且這個(gè)復(fù)制被返回。

QString string( "apple" );

QString t = string.rightJustify( 8, '.' );??// t == "...apple"

也可以參考leftJustify()。

QString QString::section ( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const

這個(gè)函數(shù)用來返回字符串的一部分。

這個(gè)字符串被看作由字符sep分隔開的順序的區(qū)段。返回的從位置start到位置end(兩個(gè)都包含)的區(qū)段組成的字符串。如果end沒有被指定,那么從位置start開始到字符串的結(jié)尾的所有區(qū)段都被返回。區(qū)段是從左面是0、1、2等等計(jì)數(shù),或者從右面-1、-2等等計(jì)數(shù)的。

flags參數(shù)可以用來影響這個(gè)函數(shù)行為的特征,例如是否區(qū)分大小寫,是否忽略空區(qū)段并且如何處理開始和結(jié)尾的分隔符,請(qǐng)參考SectionFlags。

QString csv( "forename,middlename,surname,phone" );

QString s = csv.section( ',', 2, 2 );? ?// s == "surname"

QString path( "/usr/local/bin/myapp" ); // First field is empty

QString s = path.section( '/', 3, 4 );??// s == "bin/myapp"

QString s = path.section( '/', 3, 3, SectionSkipEmpty ); // s == "myapp"

如果start或者end為負(fù)數(shù),我們就從字符串的右面開始計(jì)數(shù),最右面的是-1,接著是-2,依此類推。

QString csv( "forename,middlename,surname,phone" );

QString s = csv.section( ',', -3, -2 );??// s == "middlename,surname"

QString path( "/usr/local/bin/myapp" ); // First field is empty

QString s = path.section( '/', -1 ); // s == "myapp"

也可以參考QStringList::split()。

實(shí)例:chart/element.cpp。

QString QString::section ( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

QString QString::section ( const char * sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

QString QString::section ( const QString & sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

這個(gè)函數(shù)用來返回字符串的一部分。

這個(gè)字符串被看作由字符串sep分隔開的順序的區(qū)段。返回的從位置start到位置end(兩個(gè)都包含)的區(qū)段組成的字符串。如果end沒有被指定,那么從位置start開始到字符串的結(jié)尾的所有區(qū)段都被返回。區(qū)段是從左面是0、1、2等等計(jì)數(shù),或者從右面-1、-2等等計(jì)數(shù)的。

flags參數(shù)可以用來影響這個(gè)函數(shù)行為的特征,例如是否區(qū)分大小寫,是否忽略空區(qū)段并且如何處理開始和結(jié)尾的分隔符,請(qǐng)參考SectionFlags。

QString data( "forename**middlename**surname**phone" );

QString s = data.section( "**", 2, 2 ); // s == "surname"

如果start或者end為負(fù)數(shù),我們就從字符串的右面開始計(jì)數(shù),最右面的是-1,接著是-2,依此類推。

QString data( "forename**middlename**surname**phone" );

QString s = data.section( "**", -3, -2 ); // s == "middlename**surname"

也可以參考QStringList::split()。

QString QString::section ( const QRegExp & reg, int start, int end = 0xffffffff, int flags = SectionDefault ) const

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

這個(gè)函數(shù)用來返回字符串的一部分。

這個(gè)字符串被看作由正則表達(dá)式reg分隔開的順序的區(qū)段。返回的從位置start到位置end(兩個(gè)都包含)的區(qū)段組成的字符串。如果end沒有被指定,那么從位置start開始到字符串的結(jié)尾的所有區(qū)段都被返回。區(qū)段是從左面是0、1、2等等計(jì)數(shù),或者從右面-1、-2等等計(jì)數(shù)的。

flags參數(shù)可以用來影響這個(gè)函數(shù)行為的特征,例如是否區(qū)分大小寫,是否忽略空區(qū)段并且如何處理開始和結(jié)尾的分隔符,請(qǐng)參考SectionFlags。

QString line( "forename\tmiddlename??surname \t \t phone" );

QRegExp sep( "\s+" );

QString s = line.section( sep, 2, 2 ); // s == "surname"

如果start或者end為負(fù)數(shù),我們就從字符串的右面開始計(jì)數(shù),最右面的是-1,接著是-2,依此類推。

QString line( "forename\tmiddlename??surname \t \t phone" );

QRegExp sep( "\\s+" );

QString s = line.section( sep, -3, -2 ); // s == "middlename??surname"

警告: QRegExp這一部分比其它字符串和字符的重載版本要花費(fèi)更多。

也可以參考QStringList::split()和simplifyWhiteSpace()。

void QString::setExpand ( uint index, QChar c )

這個(gè)函數(shù)是廢棄的。它的提供只是為了保證舊代碼能夠工作。我們強(qiáng)烈建議在新代碼中不要使用它。

設(shè)置在index位置的字符為c并且如果需要使用空格來擴(kuò)展這個(gè)字符串。

這個(gè)方法在Qt 3.x中是多余的,因?yàn)閛perator[]可以在需要的時(shí)候擴(kuò)展字符串。

QString & QString::setLatin1 ( const char * str, int len = -1 )

設(shè)置這個(gè)字符串為解釋為經(jīng)典的Latin1的C字符串的str。如果len為-1(默認(rèn)),那么它將被設(shè)置為strlen(str)。

如果str為0,那么零字符串被創(chuàng)建。如果str為“”,那么空字符串被創(chuàng)建。

也可以參考isNull()和isEmpty()。

void QString::setLength ( uint newLen )

確保至少newLen個(gè)字符被分配給這個(gè)字符串,并且設(shè)置這個(gè)字符串的長(zhǎng)度為newLen。任何分配的新空間保留任意的數(shù)據(jù)。

如果newLen為0,那么這個(gè)字符串將變?yōu)榭?#xff0c;除非這個(gè)字符串是零,這種情況下它仍保持為零。

如果不能分配足夠的內(nèi)存,字符串保持不變。

這個(gè)函數(shù)總是把這個(gè)字符串和有同樣數(shù)據(jù)的其它引用分離。

這個(gè)函數(shù)對(duì)于需要構(gòu)建一個(gè)長(zhǎng)字符創(chuàng)并且想避免重復(fù)重新分配空間的代碼很有用。在這個(gè)實(shí)例中,我們想添加字符串,直到條件為真,并且我們十分確信分配給它的大小是足夠大的:

QString result;

int resultLength = 0;

result.setLength( newLen ) // 分配一些空間

while ( ... ) {

result[resultLength++] = ... // 填充(部分的)空格作為數(shù)據(jù)

}

result.truncate[resultLength]; // 并且去掉不確定的垃圾

如果newLen是不足的話,最壞的情況就是將會(huì)循環(huán)將會(huì)變慢。

也可以參考truncate()、isNull()、isEmpty()和length()。

QString & QString::setNum ( long n, int base = 10 )

設(shè)置字符串為打印的數(shù)據(jù)n,n是基于base并且返回這個(gè)字符串的引用。

base默認(rèn)為10并且必須在2到36之間。

QString string;

string = string.setNum( 1234 );? ???// string == "1234"

QString & QString::setNum ( short n, int base = 10 )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。設(shè)置字符串為打印的數(shù)據(jù)n,n是基于base并且返回這個(gè)字符串的引用。

base默認(rèn)為10并且必須在2到36之間。

QString & QString::setNum ( ushort n, int base = 10 )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。設(shè)置字符串為打印的數(shù)據(jù)n,n是基于base并且返回這個(gè)字符串的引用。

base默認(rèn)為10并且必須在2到36之間。

QString & QString::setNum ( int n, int base = 10 )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。設(shè)置字符串為打印的數(shù)據(jù)n,n是基于base并且返回這個(gè)字符串的引用。

base默認(rèn)為10并且必須在2到36之間。

QString & QString::setNum ( uint n, int base = 10 )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。設(shè)置字符串為打印的數(shù)據(jù)n,n是基于base并且返回這個(gè)字符串的引用。

base默認(rèn)為10并且必須在2到36之間。

QString & QString::setNum ( ulong n, int base = 10 )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。設(shè)置字符串為打印的數(shù)據(jù)n,n是基于base并且返回這個(gè)字符串的引用。

base默認(rèn)為10并且必須在2到36之間。

QString & QString::setNum ( float n, char f = 'g', int prec = 6 )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

設(shè)置字符串為打印的由格式f和精度prec格式化的數(shù)據(jù)n并且返回這個(gè)字符串的引用。

格式f可以為“f”、“F”、“e”、“E”、“g”或者“G”。關(guān)于這些格式的解釋請(qǐng)參考arg()。

QString & QString::setNum ( double n, char f = 'g', int prec = 6 )

這是一個(gè)重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。

設(shè)置字符串為打印的由格式f和精度prec格式化的數(shù)據(jù)n并且返回這個(gè)字符串的引用。

格式f可以為“f”、“F”、“e”、“E”、“g”或者“G”。關(guān)于這些格式的解釋請(qǐng)參考arg()。

QString & QString::setUnicode ( const QChar * unicode, uint len )

重新定義字符串的大小為len并且把unicode復(fù)制到字符串中。如果unicode為零,什么都不被復(fù)制,但是字符串還是被重新定義為len。如果len為0,那么字符串變?yōu)榱阕址?/p>

也可以參考setLatin1()和isNull()。

QString & QString::setUnicodeCodes ( const ushort * unicode_as_ushorts, uint len )

重新定義字符串的大小為len并且把unicode_as_ushorts復(fù)制到字符串中(在一些X11客戶端平臺(tái)上這將進(jìn)入到二進(jìn)制緩存通道中)。

如果unicode_as_ushorts為零,什么都不被復(fù)制,但是字符串還是被重新定義為len。如果len為0,那么字符串變?yōu)榱阕址?/p>

也可以參考setLatin1()和isNull()。

QString QString::simplifyWhiteSpace () const

返回一個(gè)移除了這個(gè)字符串的開始和結(jié)尾的空白符號(hào)的字符串,并且內(nèi)部的空白符號(hào)都被替代為單一的空格。

空白符號(hào)是指任何QChar::isSpace()返回真的字符。這里面包括十進(jìn)制為9(TAB)、10(LF)、11(VT)、12(FF)、13(CR)和32(Space)的UNICODE字符。

QString string = "??lots\t of\nwhite? ? space ";

QString t = string.simplifyWhiteSpace();

// t == "lots of white space"

也可以參考stripWhiteSpace()。

QString & QString::sprintf ( const char * cformat, ... )

從一個(gè)格式化字符串cformat和一個(gè)任意的參數(shù)列表安全地構(gòu)建一個(gè)格式化的字符串。

%s轉(zhuǎn)義序列希望一個(gè)utf8()編碼字符串。格式化字符串cformat希望是一個(gè)Latin1的。如果你需要一個(gè)Unicode格式字符串,使用arg()來替代。為了完全支持Unicode的類型安全的字符串構(gòu)建,你可以像這樣使用QTextOStream:

QString str;

QString s = ...;

int x = ...;

QTextOStream( &str ) << s << " : " << x;

對(duì)于翻譯,特別是如果字符串包含超過一個(gè)的轉(zhuǎn)義序列,你應(yīng)該考慮使用arg()來替代它。這將允許翻譯者來控制替換的順序并且支持Unicode。

也可以參考arg()。

實(shí)例:dclock/dclock.cpp、forever/forever.cpp、layout/layout.cpp、qmag/qmag.cpp、scrollview/scrollview.cpp、tooltip/tooltip.cpp和xform/xform.cpp。

bool QString::startsWith ( const QString & s ) const

如果字符串以s開始,返回真,否則返回假。

QString string("Bananas");

bool a = string.startsWith("Ban");? ?? ?//??a == TRUE

也可以參考endsWith()。

QString QString::stripWhiteSpace () const

返回一個(gè)移除了這個(gè)字符串的開始和結(jié)尾的空白符號(hào)的字符串,并且內(nèi)部的空白符號(hào)都被替代為單一的空格。

空白符號(hào)是指任何QChar::isSpace()返回真的字符。這里面包括十進(jìn)制為9(TAB)、10(LF)、11(VT)、12(FF)、13(CR)和32(Space)的UNICODE字符。

QString string = "? ?white space? ?";

QString s = string.stripWhiteSpace();? ?? ? // s == "white space"

也可以參考simplifyWhiteSpace()。

double QString::toDouble ( bool * ok = 0 ) const

返回由這個(gè)字符串轉(zhuǎn)化的double值。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

QString string( "1234.56" );

double a = string.toDouble();? ?// a == 1234.56

也可以參考number()。

float QString::toFloat ( bool * ok = 0 ) const

返回由這個(gè)字符串轉(zhuǎn)化的float值。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

也可以參考number()。

int QString::toInt ( bool * ok = 0, int base = 10 ) const

返回由這個(gè)字符串轉(zhuǎn)化的int值,是基于base的,默認(rèn)為10并且必須在2到36之間。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

QString str( "FF" );

bool ok;

int hex = str.toInt( &ok, 16 );? ???// hex == 255, ok == TRUE

int dec = str.toInt( &ok, 10 );? ???// dec == 0, ok == FALSE

也可以參考number()。

long QString::toLong ( bool * ok = 0, int base = 10 ) const

返回由這個(gè)字符串轉(zhuǎn)化的long值,是基于base的,默認(rèn)為10并且必須在2到36之間。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

也可以參考number()。

short QString::toShort ( bool * ok = 0, int base = 10 ) const

返回由這個(gè)字符串轉(zhuǎn)化的short值,是基于base的,默認(rèn)為10并且必須在2到36之間。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

uint QString::toUInt ( bool * ok = 0, int base = 10 ) const

返回由這個(gè)字符串轉(zhuǎn)化的unsigned int值,是基于base的,默認(rèn)為10并且必須在2到36之間。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

也可以參考number()。

ulong QString::toULong ( bool * ok = 0, int base = 10 ) const

返回由這個(gè)字符串轉(zhuǎn)化的unsigned long值,是基于base的,默認(rèn)為10并且必須在2到36之間。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

也可以參考number()。

ushort QString::toUShort ( bool * ok = 0, int base = 10 ) const

返回由這個(gè)字符串轉(zhuǎn)化的unsigned short值,是基于base的,默認(rèn)為10并且必須在2到36之間。

如果轉(zhuǎn)化發(fā)生錯(cuò)誤,*ok被設(shè)置為假(除非ok為0,這是默認(rèn)的)并且0被返回。否則*ok被設(shè)置為真。

void QString::truncate ( uint newLen )

如果newLen小于字符串的長(zhǎng)度,那么字符串將從newLen位置被截短。否則就什么也不發(fā)生。

QString s = "truncate me";

s.truncate( 5 );? ?? ?? ?? ?// s == "trunc"

也可以參考setLength()。

實(shí)例:network/mail/smtp.cpp。

const QChar * QString::unicode () const

返回這個(gè)字符串的Unicode表述。直到這個(gè)字符串被修改,這個(gè)結(jié)果保持有效。

QString QString::upper () const

返回由這個(gè)字符串轉(zhuǎn)換的大寫字符串。

QString string( "TeXt" );

str = string.upper();? ???// t == "TEXT"

也可以參考lower()。

實(shí)例:scribble/scribble.cpp和sql/overview/custom1/main.cpp。

總結(jié)

以上是生活随笔為你收集整理的qstring转qchar_Qt 对QString操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。