这是我第一次问,所以请帮忙。我的问题是如何在任何字符串之间添加任何字符,例如,在每个 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++;
}
答案 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
}
在调用此函数的函数中,您需要为要放入的输出提供一个数组并指定其长度,这样就无法获得缓冲区溢出。
注意:在检查输出缓冲区中的空间时,您需要考虑添加额外字符的可能性以及终止空字符的空间。