設計mystring類,包括資料成員charpst

時間 2021-09-03 07:06:17

1樓:在晴天的雨傘

char*轉換

qt下面,字串都用qstring,確實給開發者提供了方便,想想vc裡面定義的各種變數型別,而且函式引數型別五花八門,經常需要今年新那個型別轉換

qt再使用第三方開源庫時,由於庫的型別基本上都是標準的型別,字串遇的多的就是char*型別

在qt下怎樣將qstring轉char*呢,需要用到qbytearray類,qbytearray類的說明詳見qt幫助文件。

因為char*最後都有一個『/0』作為結束符,而採用qstring::tolatin1()時會在字串後面加上『/0』

方法如下:

qstring str;

char* ch;

qbytearray ba = str.tolatin1();

ch=ba.data();

這樣就完成了qstring向char*的轉化。經測試程式執行時不會出現bug

注意第三行,一定要加上,不可以str.tolatin1().data()這樣一部完成,可能會出錯。

補充:以上方法當qstring裡不含中文時,沒有問題,但是qstring內含有中文時,轉換為char*就是亂碼,採用如下方法解決:

方法1:

新增gbk編碼支援:

#include

qtextcodec::setcodecfortr(qtextcodec::codecforname("gbk"));

qtextcodec::setcodecforlocale(qtextcodec::codecforname("gbk"));

然後改變上面的第三行為:qbytearray ba = str.toloacl8bit(); toloacl8bit支援中文

方法2:

先將qstring轉為標準庫中的string型別,然後將string轉為char*,如下:

std::string str = filename.tostdstring();

const char* ch = str.c_str();

2樓:匿名使用者

#include

#include

using namespace std;

class my

my(const char * s)

my(const my & s)

my(const string & s)

my operator =(const my & s)char operator (int index) constbool operator ==(const my & s)bool operator !=(const my & s)bool operator <(const my & s)friend my operator +(const my & a,const my & b)

friend ostream & operator <<(ostream & os,my & s)

private:

string str;

};int main()

定義student類儲存學生資訊(包括學號、姓名和成績),過載提取運算子和插入運算子實現學生資訊的 10

3樓:soring的春天

過載就是實際運算子的算術功能,比如說類a與類b,類a中有變數aa, 類b中有變數bb, 通常的搞法是a.aa + b.bb = xx, 過載後就是a+b = xx,

4樓:育知同創教育

多去複習下吧 這個不難 學到的知識是你自己的誰也拿不走

5樓:拷你妹

好好學習,別再糊弄老師了

先設計點類(Point),該類的資料成員包括點的x座標和y座標,成員函式實現的

class point point int xx,int yy point int x int y class line public pointline point pa,point pb float getlinelengh 獲取直線長度float getlineascent 獲取直線斜率 fl...

資料字典中,一般包括哪三類資料進行定義

資料字典 對資料的資料項等進行定義和描述。資料字典 data dictionary 是一種使用者可以訪問的記錄資料庫和應用程式後設資料的目錄。主動資料字典是指在對資料庫或應用程式結構進行修改時,其內容可以由dbms自動更新的資料字典。被動資料字典是指修改時必須手工更新其內容的資料字典。1資料字典是一...

平面設計都包括哪些設計,平面設計包括哪些

超級単子 平面設計 graphicdesign 的定義泛指具有藝術性和專業性,以 視覺 作為溝通和表現的方式。透過多種方式來創造和結合符號 和文字,藉此作出用來傳達想法或訊息的視覺表現。平面設計師可能會利用字型排印 視覺藝術 版面 pagelayout 等方面的專業技巧,來達成創作計劃的目的。平面設...