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

 

posted @ 2020-11-16 20:39  HappyCoder_1  阅读(600)  评论(0编辑  收藏  举报