STL|QTL工作笔记-QString与std::string寻找子串的区别与联系
生活随笔
收集整理的這篇文章主要介紹了
STL|QTL工作笔记-QString与std::string寻找子串的区别与联系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
?
STL中的string
QTL中的QString
總結
?
STL中的string
在STL中,是采用這個邏輯進行的:
1.設置一個標志接收find的返回值;
2.當標志為XXX時,則為找到,否則為不找到;
例子如下:
#include <string> #include <iostream> using namespace std;void main(){string testStr = "1234567ABC !@#$%^&";string::size_type idx;idx = testStr.find("3456");if(idx != string::npos){cout << "find it!" << endl;}idx = testStr.find("33333");if(idx == string::npos){cout << "Couldn't find it!" << endl;}getchar(); }運行截圖如下:
?
QTL中的QString
在QTL中是采用這樣的邏輯進行的:
直接采用封裝好的contains函數進行判斷,
如果要位置的話可以使用indexOf進行定位;
源碼如下:
#include <QApplication> #include <QString> #include <QDebug>int main(int argc, char *argv[]) {QApplication a(argc, argv);QString testStr = "111223344 #$%% ****#*** f#ky";if(testStr.contains("1111")){qDebug()<< "1111" << "has been find!";}else{qDebug()<< "1111" << "was not find!";}qDebug()<< "indexOf position:" << testStr.indexOf("#");qDebug()<< "indexOf position:" << testStr.indexOf("#", 11);qDebug()<< "indexOf position:" << testStr.indexOf("#", 50);return a.exec(); }程序運行截圖如下:
?
總結
QTL中的QString操作起來還是爽一點,跟java差不多,爽得一逼;
?
總結
以上是生活随笔為你收集整理的STL|QTL工作笔记-QString与std::string寻找子串的区别与联系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++设计模式-使用Qt框架采用简单工厂
- 下一篇: C++ STL vector的构造