请问 关于字符转换的问题(unicode)

问题描述

我现在在修改别人的项目,他之前开发都是默认支持unicode的,因为文件多,我就接着用了unicode。在做一个弹出对话框,选文件打开文件时出现了转换错误。如下:CStringstrSavePath;CFileDialogdlg(false,TEXT("*.xls"),NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,TEXT("WorksheetFiles(*.xls)|*.xls||"));if(dlg.DoModal()==IDOK){strSavePath=dlg.GetPathName();}else{return;}FILE*fp=fopen(strSavePath,"w+b");//报错,参数1不能转换为constchar*后来我就改成了:FILE*fp=fopen(strSavePath.GetBuffer(strSavePath.GetLength()+1),"w+b");//报错,参数1不能从wchar_t*转换成constchar*我后来用了charstr[1000];memcpy(str,strSavePath)//还是不行,还说不能从wchar_t转成char.现在问题是:fopen函数需要用到constchar*变量,而现在生成的strSavePath都是unicode的,该怎么转换?谢谢了请大家给出的答案也能保证支持汉字目录的选择呀

解决方案

解决方案二:

解决方案三:
FILE*fp=_wfopen(strSavePath,_T("w+b"));
解决方案四:
FILE*fp=_wfopen(strSavePath,_T("w+b"));凡是字符串str1="aa";都要变成str1=_T("aa");参数也是一样
解决方案五:
FILE*fp=fopen((LPCSTR)(LPCTSTR)strSavePath,"w+b");

时间: 2024-08-29 19:05:37

请问 关于字符转换的问题(unicode)的相关文章

Python字符和字符值(ASCII或Unicode码值)转换方法

  这篇文章主要介绍了Python字符和字符值(ASCII或Unicode码值)转换方法,即把字符串在ASCII值或者Unicode值之间相与转换的方法,需要的朋友可以参考下 目的 将一个字符转化为相应的ASCII或Unicode码,或相反的操作. 方法 对于ASCII码(0~255范围) 代码如下: >>> print ord('A') 65 >>> print chr(65) A 对于Unicode字符,注意仅接收长度为1的Unicode字符 代码如下: >&

把中文字符转换成Utf8编码

编码|中文|转换 //--------把中文字符转换成Utf8编码------------------------// function EncodeUtf8(s1)  {      var s = escape(s1);      var sa = s.split("%");      var retV ="";      if(sa[0] != "")      {         retV = sa[0];      }      for(

C# char类型字符转换大小写的实现代码

以下是对C#中char类型字符转换大小写的示例代码进行了介绍,需要的朋友可以过来参考下哦   C# char类型有自带的大小写转换方法:ToUpper和ToLowerchar str1 = 'a'; char str2 = 'A'; Char.ToUpper(str1); Char.ToLower(str2);

java 全角半角字符转换的方法实例_java

如果搞明白了Java中全角字符和半角字符之间的关系那他们之间的转换根本就不是个事. 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下:     public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + "    "

ios 字符转化-iOS 如何将一个字符转换成byte?最好能有代码

问题描述 iOS 如何将一个字符转换成byte?最好能有代码 比如 nssting* str = @"2"; 转化.... 解决方案 http://www.cnblogs.com/leipei2352/p/3722411.html 解决方案二: http://mobile.51cto.com/hot-404914.htm 解决方案三: NSString *str = @"2"; NSData *data = [str dataUsingEncoding:NSUTF8

代码转换-问下内容里面的字符转换是什么转换

问题描述 问下内容里面的字符转换是什么转换 转换前:FA161D8A27D01BF7转换后:SkdWNJAdOddZN1QxUMjGNx== 转换前:206DBDB0FBD04BE转换后:UJ=3SdjdQJBGQkQxNdjA 转换前:AF19CEA16A211563转换后:QMYWOMNAQtd3QtiWUtM3Ux== 转换前:6968EBF2198A2C转换后:NJk3OdwFSJiWOtgBUkU= 转换前:859C6E544566A18转换后:OEM6QqzANtQ1NtY3Qtd2

java字符转换成数字问题?不懂什么意思c=&amp;amp;#39;6&amp;amp;#39;;int a = c-&amp;amp;#39;0&amp;amp;#39;;

问题描述 java字符转换成数字问题?不懂什么意思c='6';int a = c-'0'; 字符转换成数字问题?不懂什么意思 c='6'; int a = c-'0'; 那个-'0'表示什么意思呢??百度了下好像是什么js的弱类型转换?帮忙解释下谢谢了 解决方案 c的类型很关键你却没给出来! 先说int型,可以把你那个代码转换一下 int c='6'; int x='0'; int a=c-x; //System.out.println("c:"+c);//54 //System.ou

openfire插件开发时抛出字符转换异常houghtworks.qdox.

问题描述 openfire插件开发时抛出字符转换异常houghtworks.qdox. 类中已经没有中文字符了 还是抛出这个异常,求指导 感谢!!

PHP详解ASCII码对照表与字符转换_php技巧

一,通用的ASCII码对照表 图解ASCII码对照表图,以字符A为例Dec表示十进制,如65Hx表示十六进制,如41Oct表示八进制,如101Char表示显示字符,如A ASCII码对照表图分为两个单元1,控制字符 0-31和1272,可显示字符 32-126(1)48-57为0到9十个阿拉伯数字:(2)65-90为26个大写英文字母:(3)97-122号为26个小写英文字母:(4)其它标点符号.运算符号等: 二,ASCII扩展码对照表   三,PHP字符转换函数说明 具体字符转换函数说明请参考