二維碼
微世推網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 快報資訊 » 今日快報 » 正文

C/C++常用輸入函數(shù)總結(jié)_哪里不會看哪里_學(xué)習(xí)編程

放大字體  縮小字體 發(fā)布日期:2023-03-13 04:51:49    作者:高晶    瀏覽次數(shù):213
導(dǎo)讀

一、scanf() scanf() #include cstdio//c語言中得stdio.h就是c++語言中得cstdio我們從鍵盤上讀取得信息都是字符類型(char),而將它們轉(zhuǎn)換成int類型或者double類型,就是scanf()函數(shù)得工作scanf()函數(shù)使用規(guī)則:如果用scanf()讀入基本變量類型得值,在變量名前加一個如果用scanf()把字符串讀入字符數(shù)組中,不要使用(其中為取

一、scanf()

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

我們從鍵盤上讀取得信息都是字符類型(char),而將它們轉(zhuǎn)換成int類型或者double類型,就是scanf()函數(shù)得工作

scanf()函數(shù)使用規(guī)則:

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

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

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

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

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

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

二、gets()

gets() #include<string>

gets可以接收空格,而scanf遇到空格、回車和Tab鍵都會認(rèn)為輸入結(jié)束,所以它不能接收空格。

用法:gets(字符數(shù)組名或指針);

char a[15];

gets(a);

scanf("%s",a);

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

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

$ gets()和scanf()相同點(diǎn):字符串接受結(jié)束后自動加'\0'。

$ gets()和scanf()不同點(diǎn):scanf() :當(dāng)遇到回車,空格和tab鍵會自動在字符串后面添加'\0',但是回車,空格和tab鍵仍會留在輸入得緩沖區(qū)中。

gets():可接受回車鍵之前輸入得所有字符,并用'\0'替代'\n' .回車鍵不會留在輸入緩沖區(qū)中

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

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

三、getline()

getline() #include <string>

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

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

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

char delim表示遇到這個字符停止讀入,在不設(shè)置得情況下系統(tǒng)默認(rèn)該字符為'\n',也就是回車換行符(遇到回車停止讀入)。

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

那么當(dāng)我輸入"You are the #best!" 得時候,輸入流實際上只讀入了"You are the ",#后面得并沒有存放到line中(應(yīng)該是在緩沖區(qū)里吧)。

eg2: while(getline(cin,line))語句 注意這里默認(rèn)回車符停止讀入,鍵入Ctrl+Z按回車即可退出循環(huán)。

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

四、cin.getline()

cin.getline() #include<iostream>

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

若不指定結(jié)束符,則默認(rèn)結(jié)束符為'\n'。

其語法為: cin.getline(字符指針(char*),字符個數(shù)N(int),結(jié)束符(char));

五、cin.get()六、getchar()

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

getchar()是C語言得函數(shù),C++也可以兼容,但是盡量不用或少用;

getchar()得返回值是用戶輸入得字符得ASCⅡ碼,如出錯返回-1

另外如果你想成為一名優(yōu)秀得、高薪得程序員,那就千萬不要錯過學(xué)c/c++,關(guān)于C/C++編程學(xué)習(xí),小編給大家提供一個學(xué)習(xí)交流群,歡迎到訪C/C++學(xué)習(xí)Q--先7841;后43133,要是你對C語言、C++或者是算法方面有興趣得話,不管你是大牛還是小白,大家都一起成長進(jìn)步。

 
(文/高晶)
免責(zé)聲明
本文僅代表發(fā)布者:高晶個人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright?2015-2025 粵公網(wǎng)安備 44030702000869號

粵ICP備16078936號

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

24在線QQ: 770665880

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

韓瑞 小英 張澤

工作時間:

周一至周五: 08:00 - 24:00

反饋

用戶
反饋