c++ 字符串变量

2024-11-28 17:47:07
推荐回答(5个)
回答(1):

方法1:用c/c++自身的字符串数组
#include

void test()
{
// 用法 1 - 1
char szInfo[100] = {0};
strcpy(szInfo, "hello, world\r\n");
printf(szInfo);

// 用法 1- 2
char *pInfo = "hello, guys\r\n";
printf(pInfo);

// 用法 1 - 3
char *pThird = new char[100];
strcpy(pThird, "hello, third method\r\n");
printf(pThird);

}

方法2: 用 STL 封装的字符串 ,好处是重载了许多运算符,使得字符串的连接等操作很方便
#include
using namespace std;

void test2()
{
string str;
str = "hello, ";
str += "world\r\n";
printf(str.c_str());
}

回答(2):


是c的字符串操作库函数头文件,里面并没有什么字符串变量,只是一些strcmp,strcpy等的字符串操作函数,操作的对象是char[]数组指针。


是C++对c的库函数的兼容,里面内容就是#include,并把其包含的函数名称放入名字空间std中,因此其使用方法为:
#include
using namespace std;
其具体内容和string.h一样。


才是c++的字符串库,里面定义了字符串类string,使用的方法为:
#include
using namespace std;

string s1;
s1="abc";

回答(3):

#include

然后在程序当中定义变量a就行了呀。
字符变量用 char a;
字符串变量定义用 string a;

回答(4):

首先:一个易懂理解。你把string就当成一个类型,不过不是基本数据类型,是一个封装好的类,其实就是一个字符数组,只不过多了一个结束符\0。
其次:你说为什么不能赋值?有了上面的理解,str1是string类型你非要把它赋给一个char型的
肯定编译报错类型转换啦,,更谈不上你把一个类的对象赋给一个非此类的指针。

回答(5):

string是一个封装过的类型,固有一定的结构,不是基本类型,不可以赋值给char型指针
如果你定义char
str1[]="meng",
就可以char
*p=str1;