C语言编写函数实现strncpy的功能
时间: 2023-08-03 13:07:18 浏览: 47
以下是使用 C 语言编写的函数实现 `str` 功能的示例代码:
```c
#include <stdio.h>
char* strncpy(char* destination, const char* source, size_t num) {
char* ptr = destination;
size_t i;
for (i = 0; i < num && *source != '\0'; i++) {
*ptr++ = *source++;
}
while (i < num) {
*ptr++ = '\0';
i++;
}
return destination;
}
int main() {
char source[] = "Hello, World!";
char destination[20];
strncpy(destination, source, 10);
printf("Copied string: %s\n", destination);
return 0;
}
```
在上述示例中,`strncpy` 函数接受三个参数:目标字符串 `destination`、源字符串 `source` 和要复制的字符数 `num`。该函数将源字符串的前 `num` 个字符复制到目标字符串中。如果源字符串的长度小于 `num`,则目标字符串将在复制完源字符串后填充剩余位置的空字符。
在 `main` 函数中,我们声明了一个源字符串 `source` 和一个目标字符串 `destination`。然后使用 `strncpy` 函数将源字符串的前 10 个字符复制到目标字符串中,并打印出复制后的结果。
运行上述代码将输出:
```
Copied string: Hello, Wor
```
请注意,这只是一个简单的示例,实际应用中可能需要进行更多的参数检查和错误处理。