Load a text file with C++

std::wstring fromAscii(const char* str)
{
	std::wstring sOutput;
	int inputLength = (int)strlen(str);
	if(inputLength)
	{
		inputLength++; // allow for null terminator 
		wchar_t* buf = new wchar_t[inputLength];
		MultiByteToWideChar(CP_ACP, 0, str, inputLength, buf, inputLength);	
		sOutput += buf;
		delete[] buf;
	}
	return sOutput;
}

bool LoadTextFile(std::wstring const& path, std::wstring& text)
{
    try
    {
        std::ifstream ifs(path);
        std::string str((std::istreambuf_iterator(ifs)), std::istreambuf_iterator());

        text = fromAscii(str.c_str());
        return true;
   }
   catch(...)
   {
   }

    return false;
}
Advertisements
This entry was posted in C++, Programming. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s