替换字符串中的空格

来源:互联网 发布:网络招商怎么精准找到 编辑:程序博客网 时间:2024/05/18 03:10
//替换字符串中的空格#include<iostream>#include<stdlib.h>using namespace std;void ReplaceBlank(char *arr, int capacity)//capacity为数组arr的总容量{    if (arr == NULL || capacity <= 0)        return;    int BlankCount = 0;//空格数    int size = 0;//数组的大小    int idx = 0;    while (arr[idx] != '\0')//计算空格以及数组的大小    {        size++;        if (arr[idx] == ' ')            BlankCount++;        idx++;    }    int newSize = size + BlankCount * 2;//替换空格后数组的大小    if (newSize > capacity)        return;    //从后往前寻找并替换空格    int idx_old = size;//idx_old指向原字符串的末尾arr[size]的位置    int idx_new = newSize;//idx_new指向替换后的字符串的末尾arr[newSize]的位置    while (idx_new>idx_old && idx_old>=0)    {        if (arr[idx_old] != ' ')        {            arr[idx_new] = arr[idx_old];            idx_new--;        }        else        {            arr[idx_new--] = '$';            arr[idx_new--] = '$';            arr[idx_new--] = '$';        }        idx_old--;    }}int main(){    char arr[16] = "abc def ghi";    cout<<sizeof(arr)<<endl;//16    ReplaceBlank(arr, 16);    for (size_t i = 0; i < strlen(arr); ++i)    {        cout << arr[i] << " ";    }    cout << endl;    system("pause");    return 0;}
原创粉丝点击