我的技术规范

C/C++, Algorithm
随笔 - 11, 文章 - 7, 评论 - 1, 引用 - 0
数据加载中……

多字节和宽字节转换(老是用的时候查!!!)

std::vector<char> file_buffer;
std::wstring str;

if ( GetFileStream( TEXT(".\\Test_Program.txt"), file_buffer) )
{
    str.resize( file_buffer.size(), 0);

    MultiByteToWideChar( CP_ACP, 0, &file_buffer.front(), -1, 
        &str.front(), str.size() );
}




#include <fstream>
#include <vector>

bool GetFileStream( LPCTSTR lpFileName, std::vector<char>& buffer)
{
    std::ifstream ifs;
    ifs.open( lpFileName, std::ios::in | std::ios::binary );
    if ( ! ifs )
        return false;

    ifs.seekg( 0, std::ios::end );

    size_t size_of_resource = static_cast<size_t>( ifs.tellg());
    if ( size_of_resource == 0 )
        return false;

    buffer.resize( size_of_resource + 1, 0);

    ifs.seekg( 0, std::ios::beg );
    ifs.read( &buffer.front(), size_of_resource );
    ifs.close();

    return true;
}

posted on 2013-09-18 14:01 panchao 阅读(160) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理