從控制檯讀取數據要注意兩點:
html
一、數據類型: 整型數組
浮點型 ide
單個字符spa
字符串(是否包括空格、換行符等)指針
二、讀入數據後緩衝區的指針指向什麼位置:htm
通常都指向讀入數據的下一位
blog
在控制檯輸入數據時,全部數據都是輸入到緩衝區,也都是從緩衝區讀取數據,存在一個指向緩衝區的指針。ci
一、cin字符串
遇到空格、tab、enter結束
get
cin>>a 若是a是字符串時,在a末尾添加0,(若是輸入的字符串長度大於數組a的長度,則最後一位不輸入數據,而是替換成\0)
二、gets和getline
讀到enter或者EOF結束
讀取一行時,末尾添加'\0',換行符不存儲
這兩種方法實現的功能相同
例1:
char a[10000];
gets(a);
int len=strlen(a);
例2:
string s;
getline(cin,s);
cin.getline(s,1000);
int len=strlen(s);
三、getchar()
從緩衝區中讀取一個字符,能夠是任意字符(包括空格、tab、enter)
四、gets()
從緩衝區中讀取字符串,遇到enter結束,不保存enter,遇到空格、tab保存,末尾也保存0
五、getch()
用戶輸入一個字符就直接返回一個字符,不從緩衝區讀
六、scanf()
scanf("%d,%d",&d,&d);屏幕應該輸入10,20
scanf("%d%d",&d,&d);屏幕應該輸入10 20或10tab20或10enter20
scanf("%s",s);遇到空格、enter、tab結束,不讀取這些字符
scanf("%c",&c);讀取全部字符,包括空格、tab、enter