C C 常見的輸入函式總結

2022-01-22 08:58:08 字數 2471 閱讀 3646

眾所周知,c++是在c上面延伸的,並引入物件導向的思想。

今天我們不討論物件導向思想,討論一些簡單的輸入輸出函式,

c++很多輸入輸出函式也可以引用c語言的,所以這邊我們做乙個總結:

1、cin

#include using namespace std;

int main()

輸入:jkljkljkl

輸出:jkljkljkl //遇回車結束

輸入:jkljkl jkljkl //遇空格結束

輸出:jkljkl

2、cin.get()

#include using namespace std;

int main()

輸入:jljkljkl

輸出:j

#include using namespace std;

int main()

輸入:jkl jkl jkl

輸出:jkl jkl jkl

輸入:abcdeabcdeabcdeabcdeabcde (輸入25個字元)

輸出:abcdeabcdeabcdeabcd (接收19個字元+1個『\0』)

3、cin.getline()

原型:cin.getline(字元指標(char*),字元個數n(int),結束符(char));

cin.getline(字元指標(char*),字元個數n(int))

#include using namespace std;

int main()

輸入:jkljkljkl

輸出:jklj

接受5個字元到m中,其中最後乙個為』\0』,所以只看到4個字元輸出;

如果把5改成20:

輸入:jkljkljkl

輸出:jkljkljkl

輸入:jklf fjlsjf fjsdklf

輸出:jklf fjlsjf fjsdklf

4、getline()

原型:istream& getline ( istream &is , string &str , char delim(結束符) );

istream& getline ( istream &is , string &str );

// getline with strings

#include #include using namespace std;

int main ()

這裡需要注意乙個點:如果在getline(cin,str)前面輸入了乙個回車,則getline(cin,str)將不會被執行,因為這個回車會被當作按行讀取的結束符,結束了getline(cin,str)的按行讀取字串,所以導致了getline(cin,str)沒有讀取任何字串就結束了。解決這個問題的辦法就是在回車後面加上cin.ignore();就會將回車鍵忽略掉,例子:

// getline with strings

#include #include using namespace std;

int main()

geline()這個函式坑比較多,多補充幾個知識點,如若我們要多次輸入多行的字串,並列印到視窗,怎麼做呢?

int main()

return 0;

}

這樣可以無休止的輸入輸出字串,但是我們要這麼結束這一切呢?

只要輸入ctrl+z,即可退出迴圈,因為ctrl+z是結束流的標誌,而回車只是停止cin對流的讀取操作,也可以自己指定字元停止流的讀取操作,所以不要以為回車可以退出迴圈,而有些地方說到的eof可以退出迴圈,我也不太清楚不知道是怎麼做到的,這個函式的返回值是乙個流的引用,而eof:是end of file的縮寫,是定義在裡面的乙個巨集定義#define eof (-1),如果有大佬知道是怎麼做到的告訴告訴小弟 。

4、gets()

原型:char * gets ( char * str );

#include#includeusing namespace std;

int main()

輸入:jkljkljkl

輸出:jkljkljkl

輸入:jkl jkl jkl

輸出:jkl jkl jkl

5、getchar()

原型:int getchar(void)

#include#includeusing namespace std;

int main ()

C C 常見函式

由於計算機中採用有限位的二進位制編碼,因此浮點數再計算機中的儲存並不總是精確的。例如在經過大量計算後,乙個浮點型的數3.14在計算機中就可能儲存成3.140000001也可能是3.139999999。這種情況下對我們的比較帶來極大的困擾,因為c c 中的 符號是完全相同才能判定是true,所以需要自...

C C 輸入輸出函式(I O)總結

在c語言的學習使用過程中,除了格式化輸入輸出外,還有很多輸入輸出函式,包括字串輸入輸出 檔案輸入輸出等。在使用的過程中一直沒有認真總結過,在這裡把以前學的好好總結一下,以便時間長了又忘記了。1 輸入函式 gets fgets scanf gets 遇到換行符時結束,不讀取換行符,自動在字串後面加上空...

C C 輸入輸出函式(I O)總結

1 輸入函式 gets fgets scanf gets 遇到換行符時結束,不讀取換行符,自動在字串後面加上空字元 0 返回值是指向char的指標 和傳遞給他的是同乙個指標 到結尾時返回空指標。char name 80 printf please enter your name gets name ...