我知道有一个函数,名字叫做 strcat,可以将两个char 合并在一起,成为一个新的字符串。
但我想做的,是在char后面,insert一个char 。
现请教:
1、请问c有没有自带的insert类型的函数,可以在char*后面insert一个字符char?
2、如果没有,那么应该如何自己定义 ? 我看网上很多 char++ = ch的写法,空间都没有分配,都不知道char的空间够不够,直接++不会出错吗?
1、没有
2、这就是c语言对程序员的要求,自己必须知道你在干什么,而不是靠别的什么东西来管你,就好比到了大学要自己主动学习,而不是老师家长的督促。
strcat函数是字符串连接函数,比如我们现在定义了两个字符串,a 和 b ,实际上他们是在不同的区域,并不是连续的,strcat 函数将两个字符串连接起来,我估计是首先获得后面字符串的长度然后在前面字符串的后面接着分配空间,然后再把后面的数据复制到前面数组的后面,我不知道C语言又没有insert函数,但是你要在这个字符串后面加元素的话,可以用realloc函数重新给指针分配空间,你说的问题是存在的,我试了一下让指针指向他下一个位置,
没有出结果说明下一个位置里面没有存数据,无法输出
对他进行加一操作的时候说a不能修改, 为什么呢,我想的是,虽然a是个指针,但是他的下一个你没有说他是不是,你这个时候给他一个地址是什么意思呢,是把a下一个地方也当作一个指针吗,还是只存b的地址,这时候就会产生歧义,所以不允许有这样的操作,
所以我个人认为,你要想在一个字符串后面增加字符,要么你分配的空间足够大,然后也能放下新的字符,要么就是你realloc重新分配空间再存放字符,所以我觉得问题二你的疑虑是正确的