pSrc是一个字符串对象
startIdx + length <= pSrc->length
要求:
没有发生内存泄漏
创造一个新的字符串对象持有指定的pSrc的子串
*
String* String_subString( const String* const pSrc, uint32_t start, uint32_t length);
因为C我也不是很熟悉,查了下貌似C中没有string这个结构
#include <stdio.h>
#include <string>
using namespace std;
string* sub_string(const string* pSrc, uint32_t start, uint32_t length)
{
do
{
if (pSrc == NULL) {
break;
}
if (start + length >= pSrc->length()){
break;
}
string* result = (string*)malloc(sizeof(string));
memset(result, 0, sizeof(string));
*result = string();
result->append(pSrc->c_str() + start, length);
return result;
} while (false);
return NULL;
}
int main()
{
std::string source = "danianifdnfaidfniandifafnda";
string* subString = sub_string(&source, 3, 10);
if (subString){
printf("%s", subString->c_str());
}
free(subString);
return 0;
}