将字符串str2拷贝到字符串str1中。当字符串str2的长度超出字符串str1的长度时,仅拷贝能存储在str1长度范围内的部分字符串。 要求:使用字符指针完成。 不允许使用字符串库函数。
时间: 2023-04-24 09:04:22 浏览: 163
可以使用以下代码实现:
```c
#include <stdio.h>
void copyString(char *str1, char *str2, int len) {
int i;
for (i = 0; i < len && str2[i] != '\0'; i++) {
str1[i] = str2[i];
}
str1[i] = '\0'; // 添加字符串结束符
}
int main() {
char str1[10] = "hello";
char str2[] = "world";
copyString(str1, str2, 10);
printf("%s\n", str1); // 输出 "world"
return 0;
}
```
函数 `copyString` 接受两个字符指针 `str1` 和 `str2`,以及一个整数 `len`,表示 `str1` 的长度。函数通过循环将 `str2` 中的字符逐一拷贝到 `str1` 中,直到拷贝完 `str2` 或者 `str1` 的长度达到 `len`。最后,函数在 `str1` 的末尾添加一个字符串结束符 `\0`。在主函数中,我们将 `str1` 初始化为 `"hello"`,将 `str2` 初始化为 `"world"`,然后调用 `copyString` 函数将 `str2` 拷贝到 `str1` 中。最后,我们输出 `str1` 的内容,可以看到只有 `"world"` 被拷贝到了 `str1` 中。
阅读全文