C/C++讀取一行

C/C++讀取一行

C

  1. char* gets(char *s); 讀取一行s指向的buffer,遇到EOF或換行符結束讀取。注意:gets會將換行符讀入並用\0 替換

  2. char * fgets(char *s, int size, FILE *stream);

    undefined從undefined中讀取最多undefined大小的內容到undefined指定的undefined中,當遇到換行符或undefined時讀取結束。讀取成功時,返回undefined地址;失敗時返回undefined。需要注意的是,undefined會在所讀取的內容後面添加undefined,這樣,undefined讀取的內容中會包括行末尾的undefined字符。如果要獲取讀取字符串的長度,可以調用undefined函數獲得。

  3. ssize_t getline(char **lineptr,size_t *n, FILE *stream);

    從stream讀入,存放在*lineptr指向的buffer, *n 是buffer的大小,遇到EOF或換行符結束讀取。如果 *n 小於讀入的長度,則自動buffer長度,更新*lineptr*n

C++

  1. istream& getline (istream&& is, string& str, char delim);

    istream& getline (istream& is, string& str); 這兩個是std::getline(),讀入換行符並捨棄

  2. istream& getline (char* s, streamsize n );

    istream& getline (char* s, streamsize n, char delim ); 這兩個是std::istream::getline(),讀入換行符並捨棄

  3. istream& get (char* s, streamsize n);

    istream& get (char* s, streamsize n, char delim);這是std::istream::get(),不讀入換行符,留在stream中

發佈了50 篇原創文章 · 獲贊 15 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章