如题
假设有
char str1[]="I am a student";
char str2[]="student";
char str3[]="hamburger";
想要把"I am a student"
改成 "I am a hamburger"
我有写出
1.找到student的s的index的自订函数,假设此函数return为pos。
2.欲取代字串之长度的函数,假设return
为replacement_length
3.原字串长度的函数,假设return
为length
那要如何用 pos str2 str1 length_和replacement_length用一个自定义函数replace更
改str1中的指定的str2为str3呢
字数一样的很好改 但字数不一样就要牵扯到位移方面的问题
麻烦各位大大了><
可以给个小暗示吗QQ
我自己是想在自定义函数里先删掉 student (也就是从pos往左位移length)然后往右位移
replacement_length
再在pos补str3
补程式码
http://codepad.org/qku4yiMd
作者:
Caesar08 (Caesar)
2016-05-16 23:42:00所以简单来说,就是你要把一段字串里的A字串改成B字串?如果是这样,那你要先考虑原本字串大小的问题如果原字串太小,那到时候replace时,就会有未定义行为
作者:
descent (“雄辩是银,沉默是金”)
2016-05-16 23:45:00用 c 太难了
如果你连array的范围都没概念的话就很难说了orz
作者: phishingphi (hsnutontu) 2016-05-17 01:24:00
编译不过这个不是compiler会跟你说message吗?不至于不知道错在哪里
可短不可长,长了你就只好产生加长的阵列把原来的阵列指标盖掉。如果原始阵列不准改,那便无解。这也是C的字串不好用的地方 但若不是非要在原来阵列内更改 那也还好 实用上也是如此
作者:
EdisonX (卡卡兽)
2016-05-17 23:07:00一个疑问... 不考虑用 string.h 吗 ??
作者:
sss22213 (sss22213)
2016-05-23 23:04:00十三戒先看一下