Boost logo

Boost Users :

Subject: Re: [Boost-users] boost::iostreams : equivalent of std::getline() in boost
From: vandamme (alain.mari2_at_[hidden])
Date: 2009-02-22 15:04:17


Thanks for your answer.

Still, I have a strange behavior :
When the file doesn't exist, file.is_open() still return true !!!

When I use 'ifstream file' instead of
'boost::iostreams::stream<boost::iostreams::file_source> file',
the test 'if (file)' is always wrong when the file doesn't exist.

Steven Watanabe-4 wrote:
>
> AMDG
>
> vandamme wrote:
>> I want to use boost to read a text file like this :
>>
>> boost::iostreams::file_source file(filename.c_str());
>>
>> But, when I want to get each single line with getline(), it doesn't
>> compile
>> :
>>
>> while (std::getline(file, line)) { ...} // COMPILATION ERROR
>>
>> What's the equivalent in boost for std::getline() ?
>>
>
> You can use boost::iostreams::stream.
>
> #include <boost/iostreams/device/file.hpp>
> #include <boost/iostreams/stream.hpp>
> #include <istream>
>
> int main() {
> std::string filename("test");
> boost::iostreams::stream<boost::iostreams::file_source>
> file(filename.c_str());
> std::string line;
> while (std::getline(file, line)) { }
> }
>
> In Christ,
> Steven Watanabe
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>

-- 
View this message in context: http://www.nabble.com/boost%3A%3Aiostreams-%3A-equivalent-of-std%3A%3Agetline%28%29-in-boost-tp22148618p22150873.html
Sent from the Boost - Users mailing list archive at Nabble.com.

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net