作为一个计算机小白,最近学习C++,这里做一个小记录,欢迎各路大神共同交流。
————————————————————————————分割线
C++中string与char的区别:
在C++中,字符串有两种,一种是字符串char[],另外一种是封装好的字符串类string,要区别理解。例如’a’是char, “a”是string,这两者都是普通的字符和字符串,和C语言中没什么不同,值得注意的是后者包含两个字符,末尾有一个隐身的’\0’。
其中string str = “a” 是C++ 封装好的string。C++中的char string和string不是一回事。当用到了”string”这个关键词,就不是普通的字符串,而是用到了封装后的类。
基本的字符类型是char类型,最小尺寸为8位字节。
string则是其中重要的一个标准库类型。String表示可变长的字符序列。
注意: char是定长字符串,所以定义时要么赋值,要么分配空间,string则不一样,不用管那么多。
char和string类型数据在合成文件路径时的应用:
使用char类型:
#include <iostream>
using namespace std;
int main()
{
char* str1 = "E:\\vsproject\\opencv\\opencvTest\\opencvTest\\print\\";
char*str2 = "i001.jpg";
char str3[20];
strcpy(str3, str1);
strcat(str3, str2);
cout << str3 << endl;
sprintf(str3,"%s%s",str1,str2);
cout << str3 << endl;
return 0;
}
使用string类型:
#include <iostream>
using namespace std;
int main()
{
string str1 = "E:\\vsproject\\opencv\\opencvTest\\opencvTest\\print\\";
string str2 = "i001.jpg";
string str3;
str3 = str1 + str2;
cout << str3 << endl;
cout << str3 << endl;
return 0;
}
C++中strcat()函数
strcat函数用于连接char类型的字符串,使用时需要注意char类型的变量在定义时的空间大小,strcat(a,b)是将a,b连接后将值赋给了a,比如:
char a[10] = "aaa"
char b[10] = "bbb"
strcat(a,b)
//执行后 a为"aaabbb"
大致可以理解为:
如果是string类直接想加就可以了str1+str2;
如果是char类,需要调用函数strcat,如strcat(ch1,ch2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)