关于字符数组,字符指针和字符串之间的赋值问题

Vc++6.0能用字符数组给字符指针赋值能用字符串给字符指针字符数组赋值能应该赋值我用字符串文件 #include<iostream> #include<string> using namespace std; 另外我想用scanf给字符指针赋值应该做

第1个回答  2020-02-12
给代码注释:
(1)赋值
char
str[]={"hello
world!"};
//
字符数组
char*
pStr
=
&str;
//
字符串指针指向字符数组内存址
(2)要字符数组值赋给字符串指针做:
char*
pStr
=
new
char[sizeof(str)
+
1];
//
态配内存
strcpy(pStr,
&str);
//
字符数组内容拷贝指针所指内存
//
使用pStr
delete
pStr;
//
释放内存
(3)命令窗口用scanf给字符串指针所指内存赋值做:
cout
<<
"please
input
a
string"
<<
endl;
char*
pBuff
=
new
char[100];
//
字符串缓存度稍微点我并知道要输入字符串进
scanf("%s",
pBuff);
//
命令窗口获取字符串并存入缓存
//
想要缓存字符串提取做:
char*
pExactString
=
new[strlen(pBuff)
+
1];
//
态配效字符串度
//
注意:strlen(pBuff)返效字符串度非100效度加1放字符串结束符'\0'
strcpy(pExactString,
pBuff);
//
提取效字符串(自放结束符)
//
使用pExactString
delete
pExactString;
//
释放内存
delete
pBuff;
//
释放字符串缓存
相似回答