C ++在字符串数组中添加任何字符

时间:2014-03-25 00:46:19

标签: c++

这是我第一次问,所以请帮忙。我的问题是如何在任何字符串之间添加任何字符,例如,在每个 c(小写字母)之后添加,但我不想使用任何函数,我想要编写我自己的 void函数,只传递一个应该是 char 数组的参数,可以帮忙吗?

我学会了如何用

检查字符串中的每个字符
while(*p!='\0')
{

/// What should I write here to check if there is any dot , then add after it
/// a small c

p++;
}

1 个答案:

答案 0 :(得分:0)

如果你打算用C语言做,我建议你尝试这样的事情:

void adjust_string(char*output_p, int output_space, const char* input_p)
{
    //while (there is still input left, and room in output buffer) {
    while (*input_p!='\0' && output_space>2) {
        //copy input character to output

        //update the output pointer

        //update the amount of room left in the output buffer

        //if (its a special character) {

             //add the extra character to output

             //update the output pointer

             //update the amount of room left in the output buffer

        }
        //update the input pointer
        input_p++;

    }
    //null-terminate the output string

}

在调用此函数的函数中,您需要为要放入的输出提供一个数组并指定其长度,这样就无法获得缓冲区溢出。

注意:在检查输出缓冲区中的空间时,您需要考虑添加额外字符的可能性以及终止空字符的空间。