• windows下wchar_t* 转char*


    这个在windows下很常见,常用,留个档。

    一般用这个函数:

    size_t wcstombs(
       char *mbstr,
       const wchar_t *wcstr,
       size_t count 
    );

    mbstr

    The address of a sequence of multibyte characters.

    wcstr

    The address of a sequence of wide characters.

    count

    The maximum number of bytes that can be stored in the multibyte output string.

    locale

    The locale to use.

    下面是我写的一个测试,是根据项目改过来的:

     1 #include <windows.h>
     2 #include <string.h>
     3 #include <stdio.h>
     4 #include <stdlib.h>
     5 #include <boost/filesystem.hpp>
     6 
     7 namespace bfs = boost::filesystem;
     8 
     9 
    10 bool get_path(char *file_name,size_t size){
    11 
    12 
    13 char ownPth[MAX_PATH];
    14 
    15 HMODULE hModule = GetModuleHandle(NULL);    // Will contain exe path,When passing NULL to GetModuleHandle, it returns handle of exe itself
    16 if (hModule != NULL)
    17 {
    18 GetModuleFileNameA(hModule,ownPth, MAX_PATH);    // 
    19 }
    20 else
    21 ownPth[0]=0;
    22 
    23 bfs::path iic_file(ownPth);
    24 iic_file = iic_file.parent_path() / "dlp_usb.iic" ; //For releaseing
    25 
    26 if( !bfs::is_regular_file(iic_file))
    27 {
    28 printf("
    Error,open 68013 iic file fail
    ");
    29 return false ;
    30 }
    31 
    32 
    33 wcstombs(file_name,iic_file.c_str(),size);
    34 
    35 //memcpy(file_name,iic_file.c_str(),byte_count);
    36 
    37 return true;
    38 
    39 }
    40 
    41 int main(){
    42 
    43 char iic_file[512];
    44 
    45 if(get_path( iic_file,512)){
    46 
    47 printf("TRUE
    ");
    48 }
    49 
    50 return 0;
    51 }

    references:

    http://msdn.microsoft.com/en-us/library/5d7tc9zw.aspx

    http://blog.163.com/tianshi_17th/blog/static/4856418920085209414977/

  • 相关阅读:
    loads和dumps的用法
    python实现装饰器
    pycharm 配置 git 方法
    正则表达式——练习一
    fiddler下载安装
    robotframework引入seleniumlibrary报错
    Codeforces-936B Sleepy Game
    Codeforces-940D. Alena And The Heater
    Codeforces-935D. Fafa and Ancient Alphabet
    Java编程规范
  • 原文地址:https://www.cnblogs.com/foohack/p/4191274.html
Copyright © 2020-2023  润新知