diff options
Diffstat (limited to 'src/BufferedFile.cc')
| -rw-r--r-- | src/BufferedFile.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/BufferedFile.cc b/src/BufferedFile.cc index 1bca85f4..fe763501 100644 --- a/src/BufferedFile.cc +++ b/src/BufferedFile.cc @@ -99,6 +99,28 @@ char* BufferedFile::getsn(char* s, int size) return ptr; } +std::string BufferedFile::getLine() +{ + std::string res; + if(eof()) { + return res; + } + char buf[4096]; + while(gets(buf, sizeof(buf))) { + size_t len = strlen(buf); + bool lineBreak = false; + if(buf[len-1] == '\n') { + --len; + lineBreak = true; + } + res.append(buf, len); + if(lineBreak) { + break; + } + } + return res; +} + int BufferedFile::close() { if(open_) { |
