社区
C++ 语言
帖子详情
有关纯 C/C++中 对 由 Unicode向ASCII 转换的问题
lazy2008
2004-01-15 02:15:23
先向各位道谢了。
我在调用 ifstream 类打开文件的时候,需要处理 文件名为中文的情况。
所以,我就调用了 函数 wcstombs(char *, const wchar_t *, size_t) 来对文件名进行转换。但却不能成功的执行。
不知道问题出在那里。
请诸位高手赐教!
...全文
265
9
打赏
收藏
有关纯 C/C++中 对 由 Unicode向ASCII 转换的问题
先向各位道谢了。 我在调用 ifstream 类打开文件的时候,需要处理 文件名为中文的情况。 所以,我就调用了 函数 wcstombs(char *, const wchar_t *, size_t) 来对文件名进行转换。但却不能成功的执行。 不知道问题出在那里。 请诸位高手赐教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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型的文件名的?
c/
c++
字符集 gbk/utf8互转,Ansi/Utf8互转
纯
c实现跨平台
本文将深入探讨C/
C++
中
GBK/UTF-8以及ANSI/UTF-8字符集的
转换
,以及如何通过
纯
C代码实现这些
转换
,确保程序在Windows和Linux等不同操作系统上的一致性。 首先,我们需要理解字符集的基础知识。
ASCII
是最基础的字符集...
C/
C++
字符编码
转换
在C/
C++
中
处理字符编码
转换
,首先需要了解的基本概念包括
ASCII
码、
Unicode
、UTF-8、GB2312、GBK、Big5等不同的编码标准。
ASCII
码是最早的编码标准,主要针对英文字符,使用7位二进制数表示。
Unicode
旨在为世界上所有...
VC
ASCII
,
UNICODE
,UTF8字符串互相
转换
的
C++
代码
在
C++
中
,理解并掌握
ASCII
、
UNICODE
和UTF-8之间的
转换
对于开发跨平台、多语言兼容的软件至关重要。本文将详细探讨这些编码标准以及如何在
C++
中
进行它们之间的
转换
。 首先,
ASCII
(American Standard Code for ...
C++
UTF-8与
Unicode
互相
转换
.docx
本文将详细探讨
C++
中
如何进行UTF-8与
Unicode
之间的
转换
,以及涉及的相关知识。 首先,我们要了解UTF-8和
Unicode
的基本概念。
Unicode
是一个通用的字符集,它包含世界上几乎所有的文字和符号,每个字符都有一个唯一的...
VC/
C++
字符编码格式
转换
本篇文章将深入探讨如何在VC/
C++
中
利用API函数`WideCharToMultiByte`和`MultiByteToWideChar`进行不同编码格式之间的
转换
,并提供相关的代码示例。 首先,ANSI编码是基于特定区域设置的单字节编码,通常与系统默认...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章