天天看點

char類型怎麼輸入 c語言_C/C++輸入函數丨C/C++常用輸入函數總結,哪裡不會點哪裡!...

char類型怎麼輸入 c語言_C/C++輸入函數丨C/C++常用輸入函數總結,哪裡不會點哪裡!...
char類型怎麼輸入 c語言_C/C++輸入函數丨C/C++常用輸入函數總結,哪裡不會點哪裡!...

一、scanf()

scanf() #include <cstdio>//c語言中的<stdio.h>就是c++語言中的<cstdio>

我們從鍵盤上讀取的資訊都是字元類型(char),而将它們轉換成int類型或者double類型,就是scanf()函數的工作

scanf()函數使用規則:

如果用scanf()讀入基本變量類型的值,在變量名前加一個&

如果用scanf()把字元串讀入字元數組中,不要使用&(其中&為取位址符,故名思意就是用來取變量的存儲位址)

eg1 例如scanf("%d%d",&n,&m);

eg2 例如scanf("%d,%d",&n,&m); scanf()函數将其解釋成:使用者将輸入一個數字、一個逗号,然後再輸入一個數字。也就是說使用者必須像下面這樣輸入兩個整數:88,121

如果一個字元串中包含空格,那scanf()是隻能讀取空格之前的字元,例如“hello world”,scanf("%s",str);隻能讀取到hello。解決這個問題的方法是使用gets。

--------------------------------------------------------------------------------------------------------------------------------------------------------

二、gets()

gets() #include<string>

gets可以接收空格,而scanf遇到空格、回車和Tab鍵都會認為輸入結束,是以它不能接收空格。

用法:gets(字元數組名或指針);

char a[15];

gets(a);

scanf("%s",a);

scanf不能接受空格、制表符Tab、回車等;對末尾回車符的處理:把回車符保留在緩存中。

gets能夠接受空格、制表符Tab、回車等;對末尾回車符的處理:接收回車,但把回車替換為0.

$ gets()和scanf()相同點:字元串接受結束後自動加'0'。

$ gets()和scanf()不同點:scanf() :當遇到回車,空格和tab鍵會自動在字元串後面添加'0',但是回車,空格和tab鍵仍會留在輸入的緩沖區中。

gets():可接受Enter鍵之前輸入的所有字元,并用'0'替代'n' .Enter鍵不會留在輸入緩沖區中

scanf()可以讀取所有類型的變量

gets()用到讀取字元串,用回車結束輸入

char類型怎麼輸入 c語言_C/C++輸入函數丨C/C++常用輸入函數總結,哪裡不會點哪裡!...

三、getline()

getline() #include <string>

istream& getline ( istream &is , string &str , char delim )

其中,istream&is表示一個輸入流,譬如cin;

string&str表示把從輸入流讀入的字元串存放在這個字元串中(可以自己随便命名,str什麼的都可以);

char delim表示遇到這個字元停止讀入,在不設定的情況下系統預設該字元為'n',也就是回車換行符(遇到回車停止讀入)。

eg1: getline(cin,line,'#');

那麼當我輸入"You are the #best!" 的時候,輸入流實際上隻讀入了"You are the ",#後面的并沒有存放到line中(應該是在緩沖區裡吧)。

eg2: while(getline(cin,line))語句 注意這裡預設回車符停止讀入,鍵入Ctrl+Z按回車即可退出循環。

-----------------------------------------------------------------------------------------------------------------------------------------------------------

四、cin.getline()

cin.getline() #include<iostream>

此函數會一次讀取多個字元(包括空白字元)可以接受空格 它以指定的位址為存放第一個讀取的字元的位置,依次向後存放讀取的字元,直到讀滿N-1個,或者遇到指定的結束符為止。

若不指定結束符,則預設結束符為'n'。

其文法為: cin.getline(字元指針(char*),字元個數N(int),結束符(char));

char類型怎麼輸入 c語言_C/C++輸入函數丨C/C++常用輸入函數總結,哪裡不會點哪裡!...

五、cin.get()

char類型怎麼輸入 c語言_C/C++輸入函數丨C/C++常用輸入函數總結,哪裡不會點哪裡!...

六、getchar()

getchar() //接受一個字元,需包含#include<cstdio>

getchar()是C語言的函數,C++也可以相容,但是盡量不用或少用;

getchar()的傳回值是使用者輸入的字元的ASCⅡ碼,如出錯傳回-1

char類型怎麼輸入 c語言_C/C++輸入函數丨C/C++常用輸入函數總結,哪裡不會點哪裡!...