C++指针指向的字符串赋给string
时间: 2023-05-29 11:01:24 浏览: 327
学习C++指向字符数组的指针
5星 · 资源好评率100%
首先需要明确的是,C 语言中的字符串本质上是一个字符数组,以 '\0'(即 null 字符)结尾。而指针只是一个指向内存地址的变量,因此我们需要将指针指向的字符串赋值给一个字符数组,最终再将这个字符数组赋值给字符串。
假设有一个指针 char *p 指向一个字符串 "Hello, world!",如下所示:
```
char *p = "Hello, world!";
```
我们需要先创建一个足够存放这个字符串的字符数组,如下所示:
```
char str[14]; // 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\0'
```
然后,我们使用 strcpy 函数将指针指向的字符串拷贝到这个字符数组中,如下所示:
```
strcpy(str, p);
```
最后,将这个字符数组赋值给字符串即可,如下所示:
```
char *string = str;
```
完整的示例代码如下:
```
#include <stdio.h>
#include <string.h>
int main() {
char *p = "Hello, world!";
char str[14]; // 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\0'
strcpy(str, p);
char *string = str;
printf("%s\n", string);
return 0;
}
```
阅读全文