There are those occasions when an entire text file needs to be read in its entirety.
[codesyntax lang=”cpp”]
void fBufFrame::fileToString(string inFile, string & obuf) { streampos size; char * memblock; /* The binary file stream does the majority of our groudwork */ std::ifstream file (inFile, ios::in|ios::binary|ios::ate); if (file.is_open()) { // On successful read of the file the process continues here size = file.tellg(); // determine the file size memblock = new char [size]; // allocate a memory block that can contain the file entirely file.seekg (0, ios::beg); // initilize the IO process file.read (memblock, size);// fill the memory block with the contents of the file file.close(); // close the binary stream obuf = memblock; // initilize the standard string delete[] memblock; // Free resourced allocate to the memory block } // if the initial read fails set the obuf variabel to a nil string else obuf = ""; }
[/codesyntax]
Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.