一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

string類

 新進(jìn)小設(shè)計(jì) 2021-07-28

2019-11-22

18:08:06

構(gòu)造字符串

#include<iostream>
#include<string>
using namespace std;
int main()
{
    using namespace std;
    string one("My name is String!");//初始化,C-風(fēng)格
    cout << one << endl;//使用重載<<運(yùn)算符顯示
    string two(20, '$');//初始化為由20個(gè)字符組成的字符串
    cout << two << endl;
    string three(one);//復(fù)制構(gòu)造函數(shù)將string對象three初始化為one
    cout << three << endl;
    one += "I love wly.";//附加字符串
    cout << one << endl;
    two = "Sorry!"; 
    three[0] = 'p';//使用數(shù)組表示法訪問
    string four;
    four = two + three;
    cout << four << endl;
    char alls[] = "All's well that ends well.";
    string five(alls, 20);//只使用前20個(gè)字符
    cout << five << "!\n";
    string six(alls + 6, alls + 10);
    cout << six << endl;
    string seven(&five[6], &five[10]);
    cout << seven << endl;
    string eight(four, 7, 16);
    cout << eight << endl;
    return 0;
}

 

程序說明:

  •  重載的+=運(yùn)算符將字符串S1附加到string對象的后面。
  •  =運(yùn)算符也可以被重載,以便將string對象,C-風(fēng)格字符串或char賦值給string對象。

S=”asdfg”;

S1=S2

S=’?’;

  • string six(alls + 6, alls + 10);

數(shù)組名相當(dāng)于指針,所以alls+6和alls+10的類型都是char *。

若要用其初始化另一個(gè)string對象的一部分內(nèi)容,則string s(s1+6,str+10);不管用。

原因在于,對象名不同與數(shù)組名不會(huì)被看作是對象的地址,因此s1不是指針。然而,

S1[6]是一個(gè)char值,所以&s1[6]是一個(gè)地址。

故可以寫為:string seven(&five[6], &five[10]);

  • 將一個(gè)string對象的部分內(nèi)容復(fù)制到構(gòu)造的對象中。

string eight(four, 7, 16);

string類輸入

對于C-風(fēng)格字符串:

char info[100];

  1. cin >> info;//read a wrd
  2. cin.getline(info,100);//read a line,discard \n
  3. cin.get(info,100);// read a line,leave \n in queue
#include<iostream>
#include<string>
using namespace std;
void Print(char s[])
{
    int i;
    for (i = 0; s[i] != '\0'; i++)
        cout << s[i];
    cout << endl;
    cout << "字符串長: " << i << endl;
}
int main()
{
    char info[100];
    cin >> info;
    Print(info);
    cin.get();
    cin.getline(info, 100);
    Print(info);
    cin.get(info, 100);
    Print(info);
    return 0;
}

 

 

對于string對象:

string stuff;

cin >> stuff; //read a word

getline(cin,stuff); //read a line,discard \n

兩個(gè)版本的getline()都有一個(gè)可選參數(shù),用于指定使用哪個(gè)字符來確定輸入邊界

cin.getline(info,100,':’);

getline(stuff,’:’);

區(qū)別:string版本的getline()將自動(dòng)調(diào)整目標(biāo)string對象的大小,使之剛好能夠存儲(chǔ)輸入的字符:

char fname[10];

string fname;

cin >> fname;//could be a problem if input size > 9 characters

cin >> lname;//can read a very,very long word

cin.getline(fname,10);

cetline(cin,fname);

自動(dòng)調(diào)整大小的功能讓string版本的getline()不需要指定讀取打多少個(gè)字符的數(shù)值參數(shù)。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美日韩乱码一区二区三区 | 特黄大片性高水多欧美一级| 日韩一本不卡在线观看| 国产原创中文av在线播放| 国产午夜免费在线视频| 欧美日韩国产成人高潮| 最新国产欧美精品91| 亚洲国产性生活高潮免费视频| 精品一区二区三区中文字幕| 不卡免费成人日韩精品| 国语对白刺激高潮在线视频| 日本男人女人干逼视频| 中文字幕日韩无套内射| 中文字幕人妻日本一区二区| 亚洲一级二级三级精品| 国产91人妻精品一区二区三区| 日韩日韩日韩日韩在线| 亚洲欧美精品伊人久久| 亚洲熟妇av一区二区三区色堂| 老司机这里只有精品视频| 九九热这里有精品20| 九九九热视频免费观看| 91一区国产中文字幕| 狠狠干狠狠操亚洲综合| 中文精品人妻一区二区| 九九热精彩视频在线免费| 九九热精彩视频在线免费| 日本免费熟女一区二区三区| 国产av一区二区三区麻豆| 日韩欧美国产高清在线| 日韩欧美二区中文字幕| 国产一区二区三区草莓av| 国产精品涩涩成人一区二区三区| 亚洲国产色婷婷久久精品| 亚洲欧美日韩国产自拍| 九九热视频网在线观看| 久久精品国产99精品最新| 日韩精品毛片视频免费看| 污污黄黄的成年亚洲毛片 | 色婷婷激情五月天丁香| 欧美午夜一级艳片免费看|