[LC++]geting a "char *" (not const) from a string.data()
Jan Pfeifer
janpf at yahoo-inc.com
Fri Jul 27 04:33:03 UTC 2001
hi :)
i need to read a whole file to a string and return it, but i can't imagine how to do this without having to read
the whole file to a char* buffer first and assigning (copying) to a string later. Is there another way around ?
the code (without error checking):
string file_read( string filename )
{
unsigned filesize = file_size( filename ); // suppose file_size() defined
char *buf = new char[ filesize ];
int fd = open( filename, O_RDONLY );
read( fd, buf, filesize );
string ret( buf, filesize );
delete[] buf;
return ret;
}
is there a way round without having to allocate and copy buf ?
thanks for any help
jan
More information about the tuxCPProgramming
mailing list