C/C++讀取一行
C
char* gets(char *s);
讀取一行s指向的buffer,遇到EOF或換行符結束讀取。注意:gets會將換行符讀入並用\0
替換char * fgets(char *s, int size, FILE *stream);
undefined從undefined中讀取最多undefined大小的內容到undefined指定的undefined中,當遇到換行符或undefined時讀取結束。讀取成功時,返回undefined地址;失敗時返回undefined。需要注意的是,undefined會在所讀取的內容後面添加undefined,這樣,undefined讀取的內容中會包括行末尾的undefined字符。如果要獲取讀取字符串的長度,可以調用undefined函數獲得。
ssize_t getline(char **lineptr,size_t *n, FILE *stream);
從stream讀入,存放在
*lineptr
指向的buffer,*n
是buffer的大小,遇到EOF或換行符結束讀取。如果*n
小於讀入的長度,則自動buffer長度,更新*lineptr
和*n
C++
istream& getline (istream&& is, string& str, char delim);
istream& getline (istream& is, string& str);
這兩個是std::getline(),讀入換行符並捨棄istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
這兩個是std::istream::getline(),讀入換行符並捨棄istream& get (char* s, streamsize n);
istream& get (char* s, streamsize n, char delim);
這是std::istream::get(),不讀入換行符,留在stream中