std::string 有关字符串操作的一些简单用法

c 语言中的字符串的定义依赖于字符数组的形式,在定义字符串变量时需要指定字符串的大小,且不支持修改。修改字符串时一般使用函数库中已经封装好的函数,如 strcpy(复制)、strcat(拼接)、strlen(检查字符串长度)等。字符串初始化后需要在末尾添加结束标识符‘\0’,若未添加结束标识符使用字符串变量则可能有数组越界访问的危险。

在 c++ 语言中利用类,在 std 中提供了有关字符串操作的对象 string;包含在头文件 #include中,使用 std::string 定义字符串,进行字符串操作相较 c 语言更方便。因为它是动态的,会根据自身需要调整储存空间,改变自身大小。

定义字符串

#include<iostream>
#include<string>

int main()
{
    std::string str;     //定义字符串变量,未初始化
    
    str = "tube-fei";
    //std::cin >> str;
    std::cout << str;
    
    return 0;
}
#include<iostream>
#include<string>

int main()
{
    std::string str = "tube-fei";  //定义字符串并初始化
    
    std::cout << str;
    
    return 0;
}

复制字符串

#include<iostream>
#include<string>

int main()
{
	std::string str1 = "tube-fei";
	std::cout << "str1 = " << str1 << "\n";
	std::cout << "Now, copy str1 to str2!\n";
	std::string str2 = str1;
	std::cout << "Now, str2 = " << str2 << "\n";
	
	return 0;
 } 

拼接字符串

#include<iostream>
#include<string>

int main()
{
	std::string str1 = "tube-fei";
	std::string str2 = "handsome man";
	
	std::cout << "str1 = " << str1 << "\n";
	std::cout << "str2 = " << str2 << "\n";
	std::cout << "Use str1 and str2 to make a sentence!\n\n\n";
	std::string sentence = str1 + " is a " + str2 + "!";
	std::cout << "The sentance is: " << sentence;
	
	return 0;
 } 

获取字符串长度

#include<iostream>
#include<string>

int main()
{
	std::string str = "tube-fei";
	std::cout << "str = " << str << "\n";
	std::cout << "The length of str is :" << str.length() << "\n";
	
	return 0;
 }