使用方式
char* str = "Hello World!"
此方法利用字符串常量赋值,只能对其读,不能进行写入,
在堆区自动分配内存和释放- 利用new,delete,和string在栈区为其赋值
char *str = nullptr;
str = new char[24];
string tmp = "Hello World!";
strcpy_s(str, 13, tmp.c_str());//要为'\0'多分配一个缓存区
note:对new的char*如果使用字符串对其直接赋值,delete时会报错,由于字符串是存放在字符串常量区的,当你用字符串对其进行赋值的时候,其指向的地址就已经发生了改变。
3. 利用char[]
string tmp = "Hello World!";
char str[24] = {};
strcpy_s(str,tmp.c_str());