- 论坛徽章:
- 4
|
- [root@vps616 c]# ./main
- 5678901234567890[root@vps616 c]# cat main.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int copy_str_suffix(const char *src, int copy_len, char *dest) {
- if (!src || !dest) {
- return -1;
- }
- int src_len = strlen(src);
- int src_off = src_len - copy_len;
- if (src_off < 0) {
- src_off = 0;
- }
-
- int dest_len = src_len - src_off;
- memcpy(dest, src + src_off, dest_len);
- dest[dest_len] = '\0';
- return dest_len;
- }
- int main(int argc, char* const argv[]) {
- char a[21] = "12345678901234567890";
- char b[17];
- if (copy_str_suffix(a, 16, b) != -1) {
- printf("%s", b);
- }
- return 0;
- }
复制代码 自己考虑加检验dest长度的逻辑. |
|