C++语言属于C语言延伸出的一种强大语言之一,它最基本的语法有:char、short、int、float、double、long、string。
#include <iostream> //C++标准库,输入、输出
#include <string> //字符串数据类型
using namespace std; //使用std命名空间[所有的std::]
string类型,称为字符串数据类型,也是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。
1.作为字符串数据类型使用方式
string str;
cout << "字节size:" << sizeof(string);
str = "helloworld";
cout <<"打印str:"<< str << endl;
很明显,string数据类型占用28个字节。
2.作为C++标准库的头文件使用方式
(1)常用的函数
//_Source连接到_Destination后面
strcat(char* _Destination, const char* _Source);
//_Source拷贝到_Destination
strcpy(char* _Destination, const char* _Source);
//计算字符串个数,比sizeof()函数少一个‘\0’
strlen(const char *_Str);
//比较_Str1和_Str2是否相同
strcmp(const char* _Str1, const char* _Str2);
......
四个函数,四种用途,当然,小编主要对strcmp函数进行讲解。
_Str1 = _Str2,表示:_Str1、_Str2字符串相同,返回值0;
_Str1 > _Str2,表示:_Str1比_Str大,返回值 >0;
_Str1 < _Str2,表示:_Str1比_Str2小,返回值 <0;
char str1[] = "helloworld";
char str2[] = "helloworl";
int ret = strcmp(str1,str2);
if (0 == ret)
{
cout << "相同:"<<ret << endl;
}
else if(ret > 0)
{
cout << "str1 > str2:"<<ret << endl;
}
else
{
cout << "str1 < str2:"<<ret << endl;
}
(2)模版类函数
string str1 = "hello";
str1 += "world";
//很明显,就可以将world字符串连接到hello字符串后面
cout << "str字符串数据:" << str1 << endl;
//也可以如此输出str
cout << "将string类型数据转换为const char *类型数据" << str1.c_str() << endl;
size_t number = str1.size();
cout << "size()目前存储字符的个数:" << number << endl;
//依次打印输出方式[一]
for (size_t i = 0 ; i < number;i++)
{
cout << str1.at(i);
}
//换行
cout << endl;
//依次打印输出方式[二]
for (size_t i = 0; i < number; i++)
{
cout << str1[i];
}
//换行
cout << endl;
//计算str1字符串元素个数
size_t size = str1.capacity();
cout << "容器能存储元素的容量:" << size << endl;
//换行
cout << endl;
string str2;
//str2截取str1字符串中从0下标到number位置上的字符
str2.append(str1,0, number);
cout << "str2字符串输出为:" << str2 << endl;
//截取str2字符串首位开始元素,共截取1个
string str3 = str2.substr(0,1);
cout << "截取后,输出的元素为:" << str3 << endl;
size_t index = str3.find('h');
cout << "查找‘h’元素的下标为:" << index << endl;
substr函数和find函数,用法当然不止于此,有兴趣的话可以搜搜看。
小编也是新手,画瓢式学习来的,如有雷同,纯属意外。
C++看似复杂,实则一段段知识的累积,这一章只是初识String数据类型。
条条代码铸前程,行行字母显乾坤。你的路上不孤单,一路陪行。