1.c语言中的字符串
在c当中我们定义一个字符串用的是变量类型加变量名。一般的字符串我们可以改变整个字符串但是不可以改变某一个的值,而利用数组方式的字符串,我们既可以改变整个字符串,也可以改变某一个位置的值,改变整个字符串的值得时候我们要用到strcpy这个函数。
const char* p = "1234";
p = "qwer";
cout << p << endl;
char strarr[5] = "abcd";
strarr[1] = '1';
cout << strarr << endl;
strcpy_s(strarr, "1234");
cout << strarr << endl;
比较两个字符串是否相同用的是 strcmp。
cout << strcmp(p, strarr) << endl;
字符串拼接 用的是strcat_s
char atrArr[10] = "12";
strcat_s(atrArr, "ab");
cout << atrArr << endl;
2.在c++中定义字符串和改变值,我们利用string去定义,切记使用string一定要有头文件#include<string>
string str;
str = "asd";
str[1] = '1';
cout << str << endl;
使用string时可以通过=来判断字符串是否相等,+, +=可以用于字符串的拼接,substr为截取字符串substr(初始下标,截取长度)输出为截取下来的字符串,截取长度如果过多则截取有效的长度,如果下标超出,会出现异常,获取字符串的长度可以用size()或者length(),如果想用c中的strcmp可以将string类型的字符串转化为const char*类型利用的是.c_str(),下面是一些例子。
if (str == strarr) {
cout << "相同" << endl;
}
else {
cout << "不相同" << endl;
}
str = "12ab";
if (str == atrArr) {
cout << "相同" << endl;
}
else {
cout << "不相同" << endl;
}
//拼接
string strnew = str + "asdfg";
cout << strnew << endl;//12abasdfg
cout << strnew.substr(1, 3) << endl;//2ab
cout << strnew.size() << " " << strnew.length() << endl;//9 9
cout << strcmp(strnew.c_str(), strarr) << endl;
system("pause");
return 0;