不用函数,将字符串赋值到char*类型
时间: 2024-02-09 18:09:07 浏览: 36
可以使用数组下标将字符串赋值到char*类型,具体方法如下:
```c++
char str[] = "Hello, world!";
char* ptr = new char[sizeof(str)];
int i = 0;
while (str[i] != '\0') {
ptr[i] = str[i];
i++;
}
ptr[i] = '\0';
```
上述代码将字符串"Hello, world!"赋值到char*类型的指针ptr中,使用数组下标依次将字符串中的每一个字符赋值给ptr指向的内存空间,直到遇到字符串结束符'\0'为止。需要注意的是,在给指针分配内存空间时需要保证空间大小足够存储整个字符串,这里使用了new运算符动态分配了与字符串str相同大小的内存空间。最后别忘了在字符串末尾加上'\0',表示字符串的结束。
相关问题
将字符串赋值给一个char 类型的遍历
将字符串赋值给一个 char 类型的数组可以使用字符串拷贝函数 `strcpy` 或者字符数组的初始化。
使用 `strcpy` 函数的示例如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char arr[20];
strcpy(arr, str);
for (int i = 0; i < strlen(arr); i++) {
printf("%c ", arr[i]);
}
printf("\n");
return 0;
}
```
使用字符数组初始化的示例如下:
```c
#include <stdio.h>
int main() {
char str[] = "Hello, world!";
char arr[20] = {};
for (int i = 0; i < sizeof(str); i++) {
arr[i] = str[i];
}
for (int i = 0; i < sizeof(arr); i++) {
if (arr[i] == '\0') {
break;
}
printf("%c ", arr[i]);
}
printf("\n");
return 0;
}
```
以上两个示例的输出结果都是:
```
H e l l o , w o r l d !
```
char* 赋值字符串
将字符串赋值给 char* 变量,需要使用 strcpy 函数,如下所示:
```c
char* str = malloc(sizeof(char) * (strlen("Hello World") + 1));
strcpy(str, "Hello World");
```
这里先使用 malloc 函数分配了足够的内存空间,然后使用 strcpy 函数将字符串 "Hello World" 复制到 str 变量所指向的内存空间中。需要注意的是,由于字符串末尾包含一个空字符 '\0',所以需要为 malloc 分配的内存空间增加一个字节。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)