關於C++的getline換行符的問題
例如
string s;
char a;
cin>>a;
cout << a << endl;
getline(cin,s);
cout << s;
當輸入num之後就直接輸出a的值了, 並不能輸入s。
而當我們輸入aaa bbb的時候,輸出的結果是
a
aa bbb.
這是因為stdin是緩衝式輸入,必須在輸入換行後才讀入num.但是它只把第一個字元讀出,並不處理輸入緩衝區中的換行符。然後getline遇到了換行符,輸入結束。
此外cin>>的>>操作符會跳過所有的空白字元,然後輸入直到又遇到空白字元。
如果想要先輸入a,然後再讀入字串s,就要在在getline之前加一句: cin.ignore(0x7fffffff,'\n')
ignore的第一個引數不是忽略字元的個數,而是忽略字元的最大個數。如果一直沒有遇到第二個引數所指定的字元,它會忽略0x7fffffff個字元。給它一個較大的數可以保證無論當前行有多少個字元都會被忽略,從下一行開始輸入。
相關推薦
關於C++的getline換行符的問題
例如 string s; char a; cin>>a; cout << a << endl; getline(cin,s)
C++中換行符‘\n’和控制符‘endl’的區別(cout和printf區別)
1.顯示字串時,在字串中包含換行符,而不是在末尾加上endl,可以減少輸入量 2.如果生成一個空行,則兩種方法的輸入量相同,但對大多數人而言輸入endl更為方便 3.顯示引號括起來的字串通常使用換行符
在.net開發中如何將C#的換行符\r \n換成html的換行語句
第一種方法: <pre> 你的文字內容 </pre> 只處理換行不好.還有空格和tab符號.用pre比較好 第二種方法: 定義標籤runat="server",標籤id.innerHtml=內容,內容裡面的\r\n換成<br/>, 感覺
C#過濾換行符和多餘空格
Baidu網頁的HTML原始碼是混合在一起的。HTML程式碼混合在一起,出發點是為了減小網頁體積,從而加快網頁載入速度。 在asp.net程式設計時,頁面只要繼承這個基類,那麼輸出的HTML程式碼就會
C#(去、過濾)掉字符中的換行符
ace 回車 href ray express windows key ext 文本 原文地址: http://www.feedou.com/articlepickservlet?commandkey=singlearticle&articleID=5c42b75f
如何使用 JSON for Modern C++ 序列化與反序列號,換行符導致序列化失敗
http gb2 elf ldp c++ spi ssp 使用 b16 W48z士5742i4鍁鉀http://shequ.docin.com/qbvl66336 6j夠裝何掖tj嘔蔡5VLhttp://tushu.docin.com/olybb166 渤k搶97L巳綱鋅7
【雜記】C#中的回車換行符
語言 color 雜記 pan blog == 一行 div 屬性 在 C# 中,我們用字符串 "\r\n" 表示回車換行符。 如: string str = "第一行\r\n第二行"; 但是我們更推薦 Environment.NewLine(名稱空間為 System)
cin 輸入空格符和 getline() 忽略開頭換行符
1、輸入空格符 getline() 函式實際上有三個引數,第三個引數指定字串的結束符,也就是當 getline() 函式遇到這個字元時,就不再接受輸入了。例如 getline(cin, str, 's'); 即使輸入的是 abcsdef ,讀入到 str 的內容卻
C++換行符-----'\n'&endl
這是一段程式碼 #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl;
C#中正則表示式與回車換行符
C#中,讀取文字檔案內容,裡面往往有許多回車換行符(“\r\n”),雖然一般不可見,但卻實實在在的存在。這時候,使用正則表示式進行匹配,需要考慮其存在。今天就遇到這樣一個問題: 有文字檔案內容如下:
回溯演算法的應用:C語言中的堡壘問題(不要把換行符輸到數組裡QAQ)
描述 城堡是一個4×4的方格,為了保衛城堡,現需要在某些格子裡修建一些堡壘。城堡中的某些格子是牆,其餘格子都是空格,堡壘只能建在空格里,每個堡壘都可以向上下左右四個方向射擊,如果兩個堡壘在同一行或同一列,且中間沒有牆相隔,則兩個堡壘都會把對方打掉。問
c getchar() 函式的使用注意 、換行符的處理
getchar() 是從控制檯接收字元,注意只會接收一個字元 char ch = getchar(); 如果在控制檯輸入 qwer的時候, ch的值只接收 'q' getchar() 在鍵盤輸入資訊時, 並不是在鍵盤上敲一個字元,該字元就立即送到計算機中,這些
c/c++中的換行符“\” 巨集定義\字串 多行書寫時換行
巨集定義有無引數巨集定義和帶引數巨集定義兩種。 無引數的巨集定義的一般形式為# define 識別符號 字元序列 其中# define之後的識別符號稱為巨集定義名(簡稱巨集名),要求巨集名與字元序列之間用空格符分隔。這種巨集定義要求編譯預處理程式將源程式中隨後所有的定名的出現(註釋與字串常量中的除外)均用
vim 處理換行符
formats orm form lin nbsp format vim 設置 lis 1. 設置文件格式 :set fileformats=unix,dos 2. 查詢當前文件格式 :set fileformat? 3. 轉換文件格式 :set fileformat=d
關於 java中的換行符
換行符 mod lock ring 概念 回車 output buffere unix java中實現換行有以下3種方法: 1.使用java中的轉義符"\r\n": String str="aaa"; str+="\r\n"; 這樣在str後面
腳本調試:一次換行符導致的報錯
shell今天早上用notepad寫了個簡單腳本,如下:[[email protected] ~]# vim /wanwan/nginx_limits.sh #!/bin/bash #nginx max open files-nums for pid in $(ps aux |grep nginx
百度復制 - 換行符等解釋說明
ria 系統 風格 b- 顯示 ext 結束 回車 inux ‘\r‘是回車,前者使光標到行首,(carriage return) (CR)‘\n‘是換行,後者使光標下移一格,(line feed)(LF)\r 是回車,return\n 是換行,newline對於換行這個動
JavaSE8基礎 System.getProperty 獲得當前系統的換行符
detail blog 鏈接 pub lock deb 輸出 window clip os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) refer
清除SQL數據庫文本字段中的回車、換行符的方法
rep 字段 回車 -1 img lac ges cnblogs bsp 清除SQL數據庫中文本字段的回車、換行符的方法 清除回車符: update tableName set columnName = rtrim(ltrim(replace(columnName
Git自動換行符
rri 關閉 his 工具 size 打開 printf 目前 輸出 http://blog.csdn.net/jonathan321/article/details/51988242?locationNum=2 不同的操作系統有不同的換行符格式,跨平臺協作時需要考慮