舉個(gè)栗子:
We are happy-->輸出"We%20are%20happy"
成都創(chuàng)新互聯(lián)專注于澤州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供澤州營(yíng)銷型網(wǎng)站建設(shè),澤州網(wǎng)站制作、澤州網(wǎng)頁(yè)設(shè)計(jì)、澤州網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造澤州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供澤州網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
#include
using namespace std;
#include
//length是字符數(shù)組str的總?cè)萘?void ReplaceBlank(char *str, int length)
{
if (str == nullptr&&length <= 0)
{
return;
}
int count = 0;
int i = 0;
int oldLength = 0;//str數(shù)組中原有長(zhǎng)度
while (str[i] != '\0')
{
if (str[i++] == ' ')
++count;
++oldLength;
}
int newLength = oldLength + count * 2;//加完所有%20之后的長(zhǎng)度
int index1 = newLength;
int index2 = oldLength;
if (newLength>length)
return;
while (index1 >= 0 && index2
注意:cin.getline(str,100);
- 第一個(gè)參數(shù)是字符指針
- 第二個(gè)參數(shù)是輸入數(shù)組最大長(zhǎng)度(’\0’會(huì)占據(jù)最后一位)
3.第三個(gè)參數(shù)是結(jié)束字符(不寫默認(rèn)回車),結(jié)束符不會(huì)被輸入到數(shù)組中
數(shù)組名的值是個(gè)指針常量,也就是數(shù)組第一個(gè)元素的地址。a[300]是一個(gè)數(shù)組,a是一個(gè)指向a[0]
的指針,a+5 是一個(gè)指向a[4]的指針
cin.getline()坑點(diǎn)
1.輸入超過自己給getline()第二個(gè)參數(shù)設(shè)置的長(zhǎng)度,整個(gè)程序的輸入就終止了
2.cin.getline()讀到第二個(gè)參數(shù)的長(zhǎng)度或第三個(gè)參數(shù)符或者回車時(shí)結(jié)束輸入,丟棄結(jié)束符。
比如cin.getlin(a,5,’-’);遇到‘-’結(jié)束輸入,‘-’和‘\0’會(huì)被算進(jìn)第二個(gè)參數(shù)5的個(gè)數(shù)里面,但‘-’最終會(huì)被丟出字符串,(就像‘-’憑空消失了一樣,a中不會(huì)有,下一次的cin>>也不會(huì)讀入他,就像cin.getline(a,5);遇到回車默認(rèn)結(jié)束時(shí),回車被丟出字符串一樣);