C/C++-style输入输出函数
C風格的輸入輸出
(1) int getchar() 與 int putchar(int c)
getchar從stdin輸入流中讀取字符,每次只能讀取一個字符。若想一次性讀取多個字符,則可將其放入循環中。getchar讀取所有類型的字符,包括空格。
putchar將一個字符打印到屏幕上,每次只能打印一個字符。例如:
char a;
while( (a=getchar()) != 'e') ? ##輸入流中是一長串的窗口輸入,getchar()從輸入流中挨個讀取字符,寫入到a中,當碰到字符e時,終止循環。
? ?putchar(a); ?## 該處也可用 printf("%c", a);
?
(2) char* gets(char *s)和 int puts(const char* s)
char* gets(char *s)函數從stdin中讀取一行到s指向的緩存空間中, 一個新行或者EOF符號作為一次讀取的終結。
例如:
char str[100];
gets(str);
printf("\n You entered: ");
puts(str);
gets(str)同樣可以用在循環中,作為判定條件。C++中也使用std::gets函數,該函數在C++11中被deprecated(棄用,仍然可以用),在C++14中將被完全移除。
?
(3) int scanf(const char* format, ... )和 int printf(const char* format, ...)
format可以是%s(字符串), %d(整數), %c(字符), %f(浮點數)等。
scanf可以忽略空格。scanf("%d', &a); 級聯輸入方式:
int a,b;
scanf("%d %d", &a, &b);
該中輸入方式也可作為循環的判定條件,while(scanf("%d %d", &a, &b)) 和下述C++風格的輸入std::cin類型,輸入數據類型和變量的聲明類型不同時,scanf函數返回0, 循環終止。
?
#########C++風格的輸入輸出###########
輸入方式為std::cin>> a, 也可以采用級聯輸入的方式std::cin>>a>>b. 該輸入方式可以忽略空格。
需要注意的是最終得到的輸入值和a,b聲明的類型有很大關系,例如:
int a;
char b;
cin>>a>>b;
編譯后,加載運行時,輸入29, 29. 則最終得到的a=29, 而b=2。即a被定義為一個算數類型int,29輸入到a中,b被定義為一個字符類型,只讀取第一個字符2.
同時也要注意 cin>>a的返回類型,例如:
while(cin>>a)
當輸入類型與a的聲明類型不一致時,cin>>a會返回0,跳出while循環。當輸入類型一致時,返回一個非零值,循環繼續。
輸出方式為std::cout<< c<< endl. endl為換行,使用很簡單,在此不贅述。
?
轉載于:https://www.cnblogs.com/cbyzju/p/5525672.html
總結
以上是生活随笔為你收集整理的C/C++-style输入输出函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PM2中无法开启ES6的解决方案
- 下一篇: 训练指南第二章-基础问题