bool StdFileManager::GetUTF8BOMFileString(const str_type::string &fileName, str_type::string &out) { FileBuffer buffer; if (GetFileBuffer(fileName, buffer)) { // TODO optimize it str_type::stringstream ss; unsigned char *adr = buffer->GetAddress(); for (unsigned long t = 3; t < buffer->GetBufferSize(); t++) { ss << static_cast<char>(adr[t]); } out = ss.str(); return true; } else { return false; } }
bool StdFileManager::GetAnsiFileString(const str_type::string &fileName, str_type::string &out) { FileBuffer buffer; if (GetFileBuffer(fileName, buffer)) { // TODO optimize it str_type::stringstream ss; unsigned char *adr = buffer->GetAddress(); for (unsigned long t = 0; t < buffer->GetBufferSize(); t++) { const char c = static_cast<char>(adr[t]); if (c != 0x0D) // remove all carriage return ss << c; } out = ss.str(); return true; } else { return false; } }