關於C++的String用法(新手向)


最近在接受c++入行向培訓,因為本人之前學過一點c#,知道c#的string類型非常好用。但開始學c++發現string居然不是c++的基本類型,不科學啊!正好老師留個作業,要求整理c++的string類用法,於是就研究了一下。

1.string常見的定義與初始化方法

//本文所有示例默認都需要引入<string>頭文件,下同。
#include <string>
//string的默認構造函數,定義的s1為空。
string s1;
//建立一個變量名為s2的字符串,內容與s1相同。
string s2(s1);
//建立一個變量名為s3的字符串,內容為“string”。
string s3("string");
//建立一個變量名為s4的字符串,內容為20個'-'(不包括單引號)。
string s4(20,'-');

2.string對象的讀寫

string s;
//需要<iostream>頭文件的支持。
std::cin >> s;
std::cout << s <<endl;

3.string對象的操作

//如果s字符串為空,則返回true,否則返回false,
//並將結果存入變量isEmpty。
bool isEmpty=s.empty();
//返回s字符串中的字符個數,並將結果存入變量i。
//注意:這里的s.size()值並不是int型,但可以直接隱式轉換為int。
int i=s.size();
//顯示s字串中第Count個字符(位置從0開始)。
int Count;
cin >> Count;
cout << s[Count] << endl;
//將s1與s2連接為一個新的字符串並存入s3。
s3=s1+s2;
//比較變量s1與s2的內容,相等返回true,否則返回false,
//並將結果存入變量isSame;
bool isSame=(s1==s2);
//清除s內的所有內容。
s.clear;

4.string對象的常用方法

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
    //變量初始化。
    string String1 = "HelloWorld!ILoveCpp!";
    string String2 = "CodingChangeTheWorld!";

    //assign,將字符串String1的第5個字符開始的6個字符存入String1。
    //此部分代碼運行結果為“World!”。
    String1.assign(String1,5,6);
    cout << String1 <<endl;
    //將字符串String2的第6個字符開始的6個字符存入String1。
    //此部分代碼運行結果為“Change”。
    String1.assign(String2,6,6);
    cout << String1 << endl << endl;

    String1 = "HelloWorld!ILoveCpp!";
    String2 = "CodingChangeTheWorld!";

    //將字符串String2連接到String1的末尾,並存入String1。
    //此部分代碼運行結果為“HelloWorld!ILoveCpp!CodingChangeTheWorld!”。
    String1.append(String2);
    cout << String1 << endl;
    //將字符串String2的第6個字符開始的6個字符連接到String1的末尾。
    //此部分代碼運行結果為“HelloWorld!ILoveCpp!CodingChangeTheWorld!Change”。
    String1.append(String2,6,6);
    cout << String1 << endl << endl;

    String1 = "HelloWorld!ILoveCpp!";
    String2 = "CodingChangeTheWorld!";

    //返回”Change“在String2字符中的位置(注意:從0開始)。
    //此部分代碼運行結果為“6”.
    cout << String2.find("Change") << endl << endl;

    String1 = "HelloWorld!ILoveCpp!";
    String2 = "CodingChangeTheWorld!";

    //將String2插入String1的第11個字符后。
    //此部分代碼運行結果為“HelloWorld!CodingChangeTheWorld!ILoveCpp!”。
    String1.insert(11,String2);
    cout << String1 << endl << endl;

    //返回String1的長度(注意:從0開始)。
    //此部分代碼運行結果為“41”。
    cout << String1.length() << endl << endl;

    system("pause"); 
    return 0;
}

 

 參考文獻:

《C++Primer中文第四版》人民郵電出版社

《C++ Gossip: 使用 string 型態》 http://openhome.cc/Gossip/CppGossip/string2.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM