社区
C++ 语言
帖子详情
有关纯 C/C++中 对 由 Unicode向ASCII 转换的问题
lazy2008
2004-01-15 02:15:23
先向各位道谢了。
我在调用 ifstream 类打开文件的时候,需要处理 文件名为中文的情况。
所以,我就调用了 函数 wcstombs(char *, const wchar_t *, size_t) 来对文件名进行转换。但却不能成功的执行。
不知道问题出在那里。
请诸位高手赐教!
...全文
255
9
打赏
收藏
有关纯 C/C++中 对 由 Unicode向ASCII 转换的问题
先向各位道谢了。 我在调用 ifstream 类打开文件的时候,需要处理 文件名为中文的情况。 所以,我就调用了 函数 wcstombs(char *, const wchar_t *, size_t) 来对文件名进行转换。但却不能成功的执行。 不知道问题出在那里。 请诸位高手赐教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lazy2008
2004-01-16
打赏
举报
回复
哦,我刚才试验了一下的,正如 “gieroland(咏咏张咏咏(抵制日货))” 所说的,char * 可以被赋予中文字符的。
char* pFileName;
pFileName="F:\\Project\\简洁型\\1.3.46.670589.11.6.1.1.1.0.0.1";
ifstream _if( pFileName,ios_base::binary | ios_base::in );
感谢 “gieroland(咏咏张咏咏(抵制日货))”的 提示!
但是,我现在很想利用函数 wcstombs(char *, const wchar_t *, size_t) ,把 wchar_t 类型转换成 char类型,但该函数却不能正常执行。
非常头疼!
playmud
2004-01-16
打赏
举报
回复
和操作系统有关吗?
gieroland
2004-01-16
打赏
举报
回复
这个不应该是Unicode向ASCII 转换的问题
猜想你即使不转化应该也可以调用ifstream 类打开文件,一个中文两位,对于字符串比较来说它可以不管你这两位到底是合成一个中文字符还是分开的两个ASCII字符。
所以你只需要把带路径的文件名(char*)得到之后调用ifstream 类的方法就可打开文件。
lazy2008
2004-01-16
打赏
举报
回复
是函数 wcstombs(char *, const wchar_t *, size_t) 不能正常执行。
wchar_t 的实参是一个带路径的文件名,其中,路径是带中文的,当调用这个函数后, char*
的值却在中文那里被截断了。。。。
sandrowjw
2004-01-16
打赏
举报
回复
你确信是unicode吗?如果是gb_2312用wcstombs是没用的。还有你说的截断,看不见这些字符不一定是截断了,也请确认一下,最好把2进制值获得,否则很难确认问题的。
xilihuala
2004-01-16
打赏
举报
回复
关注ing...
Jinhao
2004-01-16
打赏
举报
回复
wchar_t *wch=L"F:\\Project\\简洁型\\1.3.46.670589.11.6.1.1.1.0.0.1";
char* ch=new char[256];
wcstombs(ch,wch,256);
cout<<ch<<endl;
这样行不??
lazy2008
2004-01-16
打赏
举报
回复
函数 wcstombs(char *, const wchar_t *, size_t) ,当参数“const wchar_t *”含有中文时,为什么输出参数只返回应返回值的一小部分(遇到中文后就被截断了。。。)
boxban
2004-01-15
打赏
举报
回复
那块不能成功的执行?
wcstombs(char *, const wchar_t *, size_t)
还是 用 ifstream 类打开文件的时候?
你是如何得到wchar_t型的文件名的?
ASCII
_
UNICODE
_UTF8字符串互相
转换
的
C++
代码
ASCII
_
UNICODE
_UTF8字符串互相
转换
的
C++
代码
ASCII
_
UNICODE
_UTF8字符串互相
转换
的
C++
代码
ASCII
_
UNICODE
_UTF8字符串互相
转换
的
C++
代码
ASCII
_
UNICODE
_UTF8字符串互相
转换
的
C++
代码
ASCII
_
UNICODE
_UTF8字符串互相
转换
的...
VC
ASCII
,
UNICODE
,UTF8字符串互相
转换
的
C++
代码
ASCII
,
UNICODE
,UTF8字符串互相
转换
的
C++
代码
《C语言/
C++
学习指南》Linux开发篇
本篇面向Linux初级、但已掌握C/
C++
基本语法的学员,以CentOS为演示平台,介绍Linux下的C/
C++
开发技术。在内容编排上,先介绍Linux的安装、基本使用和配置,然后再开始介绍在Linux下的C/
C++
开发技术: gcc命令行、...
unicode
转换
ascii
(单字符转化多字符)
在windows编程
中
,此函数可以将多字节转化为多字节
C++
gbk转
unicode
、ansi转
unicode
,字符串查找、切割、转十六进制、转二进制、转义,随机数等数据处理类源码
1数据
转换
:ANSI等编码、UTF8编码、UTF16编码(实际为
Unicode
编码)、TCHAR互转,可以先获取
转换
出的数据在存储时所需的大小 2字符串查找:正向查找、逆向查找、指定偏移查找 3字符串切割:正向分割、逆向分割、指定...
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章