|
 |
Le 21/06/2011 21:30, clipka a écrit :
> Am 21.06.2011 20:36, schrieb Le_Forgeron:
>
>> I wonder a bit about the construct
>>
>> while ( !Stream.eof() )
>> {
>> // get and preprocess line
>> std::getline(Stream, line);
>> line = pre_process_conf_line(line);
>> ++line_number;
>>
>> // skip empty line
>> if(line.length() == 0)
>> continue;
>>
>> If the last line is length 0, would the eof() be evaluated (again) ?
>
> The C/C++ language construct
>
> while ( <CONDITION_1> )
> {
> <STATEMENTS_A>
> if ( <CONDITION_2> ) continue;
> <STATEMENTS_B>
> }
>
> is fully equivalent to
>
> while ( <CONDITION_1> )
> {
> <STATEMENTS_A>
> if ( ! <CONDITION_2> )
> {
> <STATEMENTS_B>
> }
> }
Ok, thanks for the check. So that (i.e. loop with continue not detecting
the end of file) was a red herring.
In the meantime, I compiled on a Red Hat Server 6.1 /x86_64, and it
works fine too (once I installed boost
and add the infamous --with-boost-thread=boost_thread_mt to configure)
(It's boost 1.41)
Alas, I have no Suse available.
--
Software is like dirt - it costs time and money to change it and move it
around.
Just because you can't see it, it doesn't weigh anything,
and you can't drill a hole in it and stick a rivet into it doesn't mean
it's free.
Post a reply to this message
|
 |