This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
seek problem on strstream
- From: Benoit MAIRE <Benoit dot M at dalim dot com>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 21 Oct 2002 11:39:53 -0200
- Subject: seek problem on strstream
- Organization: DALiM Software GmbH
With the following version of the compiler, I have a strange result.
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-112)
It seems that seekp give a bad result after a write in this case. All
works fine up to byte number 3101.
Result given is :
0
4
I hopped a result of
0
0
The same code works fine on SGI with SGI compilers. It also work on
linux with gcc3.
Is there a known limitation of strstream or a bad usage in this code or
is it a library bug ?
Benoit
#include <strstream.h>
#include <iostream.h>
#include <string.h>
int main( int, char** )
{
strstream s;
char buff[3429];
memset( buff, 'A', sizeof buff );
char tmp[10];
memset( tmp, 'B', sizeof tmp );
s.write( buff, 3429 );
s.seekp( 0 );
s.write( tmp, 10 ); // This write makes the stream to fail for a seek
after byte 3102
s.seekp( 3101 );
cout << s.fail() << endl;
s.seekp( 3102 );
cout << s.fail() << endl;
return 0;
}