Problem with getline C++

at_pradeep's Avatar, Join Date: Oct 2008
Newbie Member
I am having following code for reading and writing from an file....
but when i directly read from file... it displays all the data..
but when i do some write and the again read then it does not read any thing..
getline returns without reading anything...
and then file reaches to eof...
int main()
fstream tempFile; "abc.txt" );

if( !tempFile.is_open() )
printf("ERROR: Enable to Open File ");

printf("Writting To file\n");
string buffer = "I am in File";
tempFile.write ( buffer.c_str(), buffer.size( ) );
tempFile.write ( "\n", 1 );

printf("Reading From file\n");
string tempBuf;
while( !tempFile.eof( ) )
getline( tempFile, tempBuf, '\n' );
printf("Data %s\n", tempBuf.c_str() );

return 0;
whats the problem am i missing any thing...
please HELP!
sun_kangane's Avatar, Join Date: Mar 2007
Go4Expert Member
you have used "abc.txt" );

to open file
you have not given read, write i. e. w, r, +w etc. mode of open file...
i think by default it takes "w" mode which delete existing data of file and start writing it from 0th byte...........

try by using "+w" mode..............................