实现一个函数:按指定位置交换字符串两部分的位置
比如:函数输入("abcde", 2) 输出"cdeab"
题目的意思应该比较明白,代码实现如下:
int SwapStr(char* input, int pos)
{
char* p = input+pos;
int nLen = strlen(input);
//对输入数据检查
if (input==NULL || nLen<pos)
{
return -1;
}
char* temp= new char[pos+1];
if (temp == NULL) return -1;
memcpy(temp, input, pos);
temp[pos]='\0';
memcpy(input, p, nLen-pos);
memcpy(input+nLen-pos, temp, pos);
delete[] temp;
temp = NULL;
return 0;
}
int main()
{
char* str=new char[10];//想想这里为什么不是char* str="abcde";或者直接SwapStr("abcde",2);
strcpy(str, "abcde");
cout << str << endl;
SwapStr(