旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

C++ 中字符串的运用【C#.Net教程】,C++,字符串

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:43评论:0


导读:当我们一最先运用C言语来处置惩罚字符串的时刻,会觉得非常的贫苦。C言语中缺乏响应的字符串处置惩罚函数,假如想要完成某个字符串功用,只能靠我们本身来完成。然则当来到C++中,字符串的...
当我们一最先运用C言语来处置惩罚字符串的时刻,会觉得非常的贫苦。C言语中缺乏响应的字符串处置惩罚函数,假如想要完成某个字符串功用,只能靠我们本身来完成。然则当来到C++中,字符串的处置惩罚就会变得非常简朴。本日我们就来进修一下C++中最高频的字符串处置惩罚函数。示例代码上传至:https://github.com/chenyufeng1991/CppString。

首先要引入C++中的字符串头文件:

#include <string>


请注重,这里的头文件是没有.h的,不然就成了C言语中的头文件了。

(1)建立字符串


建立字符串有好几种组织体式格局,最典范的体式格局就是运用复制组织函数,

string str("chenyufeng",3);  
cout << str << endl;

cout 拷贝本来的字符串开首处的3个字符最为最新的字符串。打印效果为che.

string str2("chenyufeng",2,3);  
cout << str2 << endl;


cout 拷贝本来字符串index=2最先处的3个字符最为新的字符串。打印效果为eny。

// = :字符串赋值  
str2 = "Robert";  
cout << str2 << endl;


一样也能够用直接赋值的体式格局为某个变量赋值字符串,运用”=“。打印效果为Robert.


(2)swap:交流两个字符串的值

// swap:交流两个字符串的值  
  string string1 = "chen";  
   string string2 = "yufeng";  
   swap(string1, string2);  
   cout << "string1 = " << string1 << ";string2 = " << string2 << endl;


打印效果就已和本来的字符串的值交流了。


(3)+,append :增加字符串

// += ,append:在尾部增加字符串  
   string stringOrigin = "chen";  
    string stringAppend = "yufeng";  
    stringOrigin = stringOrigin + stringAppend;  
    cout << "stringOrigin = " << stringOrigin << endl;  
  
    stringOrigin.append("_OK");  
    cout << "stringOriginAppend = " << stringOrigin << endl;


注重,增加字符串操纵是会修正本来的字符串的。能够直接运用+号举行字符串的增加,非常轻易。


(4)insert:在指定位置插进去字符串

// insert:在指定position插进去字符串  
  string stringInsertOrigin = "chenyufeng";  
    stringInsertOrigin.insert(3, "__");  
    cout << "stringInsertOrigin = " << stringInsertOrigin << endl;


上述代码能够在indx=3位置插进去__下划线,打印效果为 che__nyufeng.


(5)erase,clear删除字符串

// erase: 删除字符 
  string stringEraseOrigin = "chenyufeng";  
   stringEraseOrigin.erase();  
   cout << "stringEraseOrigin = " << stringEraseOrigin << endl;  
  
  
   // clear :删除悉数字符  
  string stringClearOrigin = "chenyufeng";  
   stringClearOrigin.clear();  
   cout << "stringClearOrigin = " << stringClearOrigin << endl;


上述操纵实在都是把字符串清空了。


(6)replace:替代字符串

// replace: 替代字符串,某个pos位置最先的size个字符替代成背面的“”字符串  
   string stringReplaceOrigin = "chenyufeng";  
    stringReplaceOrigin.replace(3, 2, "66");  
    cout << "stringReplaceOrigin = " << stringReplaceOrigin << endl;


上述代码把字符串从index=3最先的2个字符替代成”66“,打印效果为che66ufeng.


(7)==,, =: 比较字符串大小


C++中运用这类运算符对字符串举行操纵,实在都是用了运算符重载。字符串比较大小是依据字母的字典序或许说是ASCII码值按递次比较大小。直到比较出两个字符串的差别字母或许比较到某个字符串的末了一名住手。

// ==,<,>,<=,>=:比较字符串  
  string stringLeft = "zhen";  
   string stringRight = "yufeng";  
   if (stringLeft == stringRight)  
   {  
       cout << "equal" << endl;  
   }  
  
   if (stringLeft != stringRight)  
   {  
       cout << "not equal" << endl;  
   }  
  
   if (stringLeft < stringRight)  
   {  
       cout << "stringLeft < stringRight" << endl;  
   }  
  
   if (stringLeft > stringRight)  
   {  
       cout << "stringLeft > stringRight" << endl;  
   }


(8)size,length:盘算字符串长度


这里的盘算字符串长度和C言语中差别,是不包括末端的的,盘算的是实在的长度。

// size(), length():盘算字符串长度  
   string stringCount = "chenyufeng";  
    cout << "stringSize = " << stringCount.size() << endl;  
    cout << "stringLength = " << stringCount.length() << endl;


上述的打印效果都是10.


(9)empty:推断字符串是不是为空

// empty():推断字符串是不是为空  
  string stringIsEmpty = "";  
    string stringNotEmpty = "chen";  
    if (stringIsEmpty.empty())  
    {  
        cout << "stringIsEmpty == empty" << endl;  
    }  
    else  
    {  
        cout << "stringIsEmpty != empty" << endl;  
    }  
  
    if (stringNotEmpty.empty())  
    {  
        cout << "stringNotEmpty == empty" << endl;  
    }  
    else  
    {  
        cout << "stringNotEmpty != empty" << endl;  
    }


(10)字符串的输入输出流

// 输入输出stream  
  cout << "请输入一个字符串"<<endl;  
    string stringInput;  
    cin >> stringInput;  
    cout << "stringInput = " << stringInput << endl;


字符串也能够类似于C++其他数据类型一样运用输入输出流。能够运用回车键完毕输入流。


(11)max_size:字符串的最大可包容量。

// max_size:  
  string stringMaxSize;  
    cout << "stringMaxSize = " << stringMaxSize.max_size() << endl;


打印效果为:18446744073709551599 。示意该字符串能够包容这么多的字符数。


(12)[], at :元素存取与修正

// [],at() :元素存取  
  string stringAt = "chenyufeng";  
    cout << "stringAt[3] = " <<stringAt[3] << endl;  
    cout << "stringAt.at(3) = " << stringAt.at(3) << endl;  
  
    stringAt[3] = '6';  
    stringAt.at(5) = '9';  
    cout << "stringAt = " << stringAt << endl;


字符串能够和数组一样举行操纵,运用下标举行存取,并能够举行修正原字符串。


(13)compare:字符串的比较,返回0,1 ,-1。

// compare()  
   string stringCompare = "chenyufeng";  
    int aaa = stringCompare.compare("chen"); // > 0  
    int bbb = stringCompare.compare("chenyufeng"); // == 0  
    int ccc = stringCompare.compare("done"); // < 0  
    cout << "aaa = " << aaa << ";bbb = " << bbb << ";ccc = " << ccc << endl;


(14)substr:取子字符串

// substr  
   string stringSubstr = "chenyufeng";  
   // 从索引为4最先的3个字符 
    cout << "stringSubstr.substr(4,3) = " << stringSubstr.substr(4,3) << endl;  
  
   // 从索引为4最先的一切字符  
  cout << "stringSubstr.substr(4) = " <<stringSubstr.substr(4) << endl;  
  
   // 全部字符  
  cout << "stringSubstr.substr() = " <<stringSubstr.substr() << endl;


(15)find:查找某个字符

// find   
  string stringFind = "chenyufeng";  
    stringFind.find('n');  
    cout << "stringFind.find('n') = " << stringFind.find('n') << endl;  
  
    cout << "stringFind.find_first_of('e') = " << stringFind.find_first_of('e') << endl;  
      
    cout << "stringFind.find_last_of('e') = " << stringFind.find_last_of('e') << endl;

默许find函数是返回某个字符第一次涌现的下标index。find_first_of和find_last_of则分别是第一次和末了一次涌现某个字符的index。

以上就是C++ 中字符串的运用的内容,更多相关内容请关注ki4网(www.ki4.cn)!

标签:C++字符串


欢迎 发表评论: