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中