我已经有了一个函数来获取字符串
的子字符串void subString(char* buffer, char* str, int start, int length)
{
int i, x = 0;
int end=start+length;
for(i = start ; i <= end; i++)
buffer[x++] = str[i];
buffer[x] = '\0';
//return temp;
}
新字符串存储在缓冲区
中但我更喜欢喜欢
的功能char * subString(char* str, int start, int length)
{
//.......
}
它将自动返回已分配内存的字符串指针。
欢迎任何评论
答案 0 :(得分:3)
将malloc添加到新功能中并将其余部分保持不变会有什么问题?
#include<stdlib.h>
char * subString(char* str, int start, int length) {
char *newString = (char *)malloc(length * sizeof(char));
int i, x = 0;
int end=start+length;
for(i = start ; i <= end; i++)
newString[x++] = str[i];
newString[x] = '\0';
return newString;
}
答案 1 :(得分:1)
由于您将字符串视为简单字符数组,为什么不简单地使用普通的strncpy
?
strncpy(dest, str+offset, len);