最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++輸入空格字符串的三種解決方法

 更新時(shí)間:2025年04月01日 11:29:44   作者:style-h  
字符串一直是一個(gè)重點(diǎn)加難點(diǎn),很多筆試面試都會(huì)涉及,帶空格的字符串更是十分常見,現(xiàn)在對(duì)字符串的輸入問題進(jìn)行一下總結(jié),本文給大家詳細(xì)介紹了C++輸入空格字符串的三種解決方法,需要的朋友可以參考下

一.gets和fgets

char * gets ( char * str );
char * fgets ( char * str, int num, FILE * stream );

1. gets 是從第?個(gè)字符開始讀取,?直讀取到 \n 停?,但是不會(huì)讀取 \n ,也就是讀取到的內(nèi)容中沒有包含 \n ,但是會(huì)在讀取到的內(nèi)容后?動(dòng)加上 \0 。

2. fgets 也是從第?個(gè)字符開始讀取,最多讀取 num-1 個(gè)字符,最后?個(gè)位置留給 \0 ,如果num 的?度是遠(yuǎn)?于輸?的字符串?度,就會(huì)?直讀取到 \n 停?,并且會(huì)讀取 \n ,將 \n 作為讀取到內(nèi)容的?部分,同時(shí)在讀取到的內(nèi)容后?動(dòng)加上 \0 。

#include <cstdio>
//?案1 
int main()
1
2
3
4{
 char arr[10] = {0};
 gets(arr);
 printf("%s\n", arr);
 return 0;
}
//替代?案-?法2 
#include <cstdio>
int main()
{
 char arr[10] = {0};
 fgets(arr, sizeof(arr), stdin);
 printf("%s\n", arr);
 return 0;
}

上述兩個(gè)程序,同樣在運(yùn)?起來后,在控制臺(tái)窗?中輸?: abc def ,按回?,?案1和?案2中arr 數(shù)組的內(nèi)容中差異如下:

二. 還是利用scanf

當(dāng)然C語?中使? scanf 函數(shù)其實(shí)也能做到讀取帶有空格的字符串,只是不常??已。?式就是將 "%s" 改成 "%[^\n]s" ,其中在 % 和 s 之間加上了 [^\n] ,意思是?直讀取,直到遇到\n ,這樣即使遇到空格也就不會(huì)結(jié)束了。

這種?式讀取,不會(huì)將 \n 讀取進(jìn)來,但是在讀取到的字符串末尾加上 \0 。

#include <cstdio>
int main()
{
 char arr[10] = "xxxxxxxx";
 scanf("%[^\n]s", arr);
 printf("%s\n", arr);
 return 0;
}

三. getchar

使? getchar 逐個(gè)字符的讀取,也是可以讀取?個(gè)字符串的。

#include <cstdio>
int main()
{
 char arr[10] = { 0 };
 int ch = 0;
 int i = 0;
 while ((ch = getchar()) != '\n')
 {
 arr[i++] = ch;
 }
 printf("%s\n", arr);
 return 0;
}

到此這篇關(guān)于C++輸入空格字符串的三種解決方法的文章就介紹到這了,更多相關(guān)C++輸入空格字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ STL中的容器適配器實(shí)現(xiàn)

    C++ STL中的容器適配器實(shí)現(xiàn)

    這篇文章主要介紹了C++ STL中的容器適配器實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • C++多重繼承引發(fā)的重復(fù)調(diào)用問題與解決方法

    C++多重繼承引發(fā)的重復(fù)調(diào)用問題與解決方法

    這篇文章主要介紹了C++多重繼承引發(fā)的重復(fù)調(diào)用問題與解決方法,結(jié)合具體實(shí)例形式分析了C++多重調(diào)用中的重復(fù)調(diào)用問題及相應(yīng)的解決方法,需要的朋友可以參考下
    2018-05-05
  • C/C++通過IP獲取局域網(wǎng)網(wǎng)卡MAC地址

    C/C++通過IP獲取局域網(wǎng)網(wǎng)卡MAC地址

    這篇文章主要為大家詳細(xì)介紹了C++如何通過Win32API函數(shù)SendARP從IP地址獲取局域網(wǎng)內(nèi)網(wǎng)卡的MAC地址,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • c語言全盤搜索指定文件的實(shí)例代碼

    c語言全盤搜索指定文件的實(shí)例代碼

    c語言全盤搜索指定文件的實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03
  • 一篇文章帶你了解C語言中volatile關(guān)鍵字

    一篇文章帶你了解C語言中volatile關(guān)鍵字

    這篇文章主要給大家介紹了關(guān)于C語言中volatile關(guān)鍵字,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • C語言中求解圖形的問題

    C語言中求解圖形的問題

    這篇文章主要介紹了C語言中求解圖形的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c++中ref的作用示例解析

    c++中ref的作用示例解析

    這篇文章主要為大家介紹了c++中ref的作用示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 一篇文章帶你入門C語言:操作符

    一篇文章帶你入門C語言:操作符

    這篇文章主要介紹了C語言中的運(yùn)算符,文中講解非常詳細(xì),適合初學(xué)小白進(jìn)行學(xué)習(xí),想入門C語言的朋友不妨了解下,希望能給你帶來幫助
    2021-08-08
  • 基于c++ ege圖形庫實(shí)現(xiàn)五子棋游戲

    基于c++ ege圖形庫實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了基于c++ ege圖形庫實(shí)現(xiàn)五子棋游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++高并發(fā)內(nèi)存池的實(shí)現(xiàn)

    C++高并發(fā)內(nèi)存池的實(shí)現(xiàn)

    本文主要介紹了C++高并發(fā)內(nèi)存池的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評(píng)論

澳门| 驻马店市| 千阳县| 五家渠市| 房产| 雅安市| 衡东县| 聂荣县| 高平市| 虞城县| 鄯善县| 霍林郭勒市| 都安| 昌黎县| 民丰县| 湘潭市| 时尚| 六安市| 平湖市| 抚顺市| 遂川县| 全椒县| 凭祥市| 韶关市| 武川县| 西青区| 武胜县| 射阳县| 绍兴市| 台前县| 天水市| 喜德县| 西丰县| 习水县| 自治县| 金坛市| 清远市| 云阳县| 印江| 陆川县| 公安县|