|
发表于 2023-12-25 20:08:29
|
显示全部楼层
好的,下面是实现上述功能的代码:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- char *substrcpy(char *str1, int m, char *str2) {
- int len = strlen(str1); // 获取字符串长度
- // 判断m是否大于字符串长度
- if (m > len) {
- return NULL; // 返回NULL表示出错
- }
- int i = 0;
- for (; i < len - m; i++) {
- str2[i] = str1[i + m]; // 复制字符到新的字符串中
- }
- str2[i] = '\0'; // 字符串末尾加上结束符'\0'
- return str2; // 返回新字符串的首地址
- }
- int main() {
- char str1[100];
- printf("请输入一个字符串:");
- scanf("%s", str1);
- int m;
- printf("请输入m的值:");
- scanf("%d", &m);
- char *str2 = (char *)malloc(strlen(str1) + 1); // 动态分配内存给新字符串
- char *result = substrcpy(str1, m, str2);
- if (result == NULL) {
- printf("Data error!\n");
- } else {
- printf("得到的新字符串为:%s\n", result);
- }
- free(str2); // 释放新字符串所占的内存
- return 0;
- }
复制代码
希望能够帮助你解决问题!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|