C++ string中的空格替换成字符串
#include "stdafx.h"
#include<iostream>
using namespace std;
char *ReplaceSpace( char Str[])
{
if (Str == NULL)
return NULL;
char *retStr = Str; //指向字符串的首地址
int spaceNum = 0;
while (*Str++ != '\0')
{
if (*Str == ' ')
spaceNum++;
}
char *TemStr = Str; //指向老字符串末尾
char *NewStr = TemStr + 2*spaceNum ; //指向新字符串的末尾
while (TemStr != NewStr)
{
if (*TemStr == ' ') //遇到空格就替换
{
*NewStr-- = '0';
*NewStr-- = '2';
*NewStr-- = '%';
TemStr--;
}
else
{
*NewStr-- = *TemStr--;
}
}
return retStr; //输出修改后的字符串
}
int main()
{
char str[128] = "This is a string test "; //申明的数组最低长度要能满足修改后的长度
char *retStr = ReplaceSpace(str);
cout << retStr << endl;
return 0;
}
输出结果:
from: https://www.cnblogs.com/kevinsharif/p/9214326.html