以BUF1和BUF2开头的两个字符串,其长度均为LEN,试编程实现: (1) 将BUF1开头的字符串传送到BUF2开始的内存空间。 (2) 将BUF1开始的内存空间全部清零。
时间: 2024-02-19 18:57:28 浏览: 125
输入一字符串str,再输入两个整数start与len,截取str字符串从start位置开始,截取len个字符存放到另外一个字符串dest中
4星 · 用户满意度95%
以下是C语言代码实现:
```
#include <string.h>
#define LEN 100
char BUF1[LEN];
char BUF2[LEN];
int main() {
// 将BUF1开头的字符串传送到BUF2开始的内存空间
memcpy(BUF2, BUF1, LEN);
// 将BUF1开始的内存空间全部清零
memset(BUF1, 0, LEN);
return 0;
}
```
在代码中,我们使用了`memcpy()`函数和`memset()`函数来实现字符串的传送和清空操作。`memcpy()`函数用于将BUF1开头的字符串传送到BUF2开始的内存空间,其函数原型如下:
```
void *memcpy(void *dest, const void *src, size_t n);
```
其中,`dest`表示目标内存地址,`src`表示源内存地址,`n`表示要传送的字节数。在本例中,我们将BUF2作为目标内存地址,BUF1作为源内存地址,LEN表示要传送的字节数。
`memset()`函数用于将BUF1开始的内存空间全部清零,其函数原型如下:
```
void *memset(void *s, int c, size_t n);
```
其中,`s`表示要清空的内存地址,`c`表示要设置的值(通常为0),`n`表示要清空的字节数。在本例中,我们将BUF1作为要清空的内存地址,0表示要设置的值,LEN表示要清空的字节数。
阅读全文