字符串复制不用strcpy函数
时间: 2023-10-30 21:25:44 浏览: 72
可以使用循环逐一复制字符串中的每个字符来实现字符串复制,代码如下:
```c
void stringCopy(char *dest, const char *src) {
int i = 0;
while (src[i] != '\0') {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
}
```
其中,`dest`表示目标字符串,`src`表示源字符串,`const`关键字表示`src`是只读的,`'\0'`表示字符串的结束符。
相关问题
字符串复制函数strcpy
strcpy是C语言中的字符串复制函数,其原型为:
```c
char* strcpy(char* dest, const char* src);
```
该函数把源字符串src中的字符复制到目标字符串dest中,直到遇到源字符串的结束符'\0'为止,然后再在目标字符串dest中添加一个结束符'\0',以表示字符串的结束。
例如:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char src[] = "Hello, world!";
char dest[20];
strcpy(dest, src);
printf("src: %s\n", src);
printf("dest: %s\n", dest);
return 0;
}
```
输出结果为:
```
src: Hello, world!
dest: Hello, world!
```
需要注意的是,如果源字符串src的长度超过了目标字符串dest的长度,则会发生数组越界的错误。因此,在使用strcpy函数时,需要保证目标字符串dest有足够的空间来存放源字符串src的内容。
字符串复制构造函数strcpy用法
以下是strcpy函数的用法和示例:
strcpy函数用于将一个字符串复制到另一个字符串中,其函数原型为:
```c
char *strcpy(char *dest, const char *src);
```
其中,dest是目标字符串,src是源字符串。该函数返回目标字符串的起始地址。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main () {
char src[40];
char dest[100];
strcpy(src, "Hello, world!");
strcpy(dest, src);
printf("源字符串: %s\n", src );
printf("目标字符串: %s\n", dest );
return 0;
}
```
输出结果为:
```
源字符串: Hello, world!
目标字符串: Hello, world!
```
需要注意的是,如果目标字符串的空间不足以存放源字符串,会导致缓冲区溢出的错误。因此,在使用strcpy函数时,需要确保目标字符串的空间足够大。