Redian新闻
>
顺便问一个CreateFile问题 (转载)
avatar
顺便问一个CreateFile问题 (转载)# Programming - 葵花宝典
z*e
1
【 以下文字转载自 Seattle 讨论区 】
发信人: zlike (最终幻想), 信区: Seattle
标 题: 顺便问一个CreateFile问题
发信站: BBS 未名空间站 (Sat Jun 7 04:04:00 2008)
Visual Studio里面缺省是Unicode.
随便const TCHAR *s=_TEXT("asdfsdfsdfsddfsdfsddfdsfsdf");
然后CreateFile(),WriteFile(....)....
那个出来的text文件始终是Unicode的,如果改project configuration,改成unset的话
就是ANSI,问题是我要UTF-8的,怎么生成啊?
之所以要UTF-8,是因为生成的是一个xml,然后另外一个C#的程序去读,如果unicode
的话那个C#里面的那个XMLxxxx就要发神经报错,ANSI就没问题。
avatar
X*r
2
这个和CreateFile没什么关系,你要在UTF-16和UTF-8之间进行转换的话用
wcstombs/mbstowcs这些函数。
http://msdn.microsoft.com/en-us/library/6y9se58z(VS.71).aspx
另外,你如果用printf/wprintf系列函数写文件的话,可以用%S而不是通常的%s来表明
你传进去的字符串是另一种encoding。
http://msdn.microsoft.com/en-us/library/hf4y5e3w.aspx
顺便说一下,Unicode是指Character Set,UTF-16和UTF-8都是Unicode的一种encoding。
只是在VS里经常就把UTF-16称作Unicode。

unicode

【在 z***e 的大作中提到】
: 【 以下文字转载自 Seattle 讨论区 】
: 发信人: zlike (最终幻想), 信区: Seattle
: 标 题: 顺便问一个CreateFile问题
: 发信站: BBS 未名空间站 (Sat Jun 7 04:04:00 2008)
: Visual Studio里面缺省是Unicode.
: 随便const TCHAR *s=_TEXT("asdfsdfsdfsddfsdfsddfdsfsdf");
: 然后CreateFile(),WriteFile(....)....
: 那个出来的text文件始终是Unicode的,如果改project configuration,改成unset的话
: 就是ANSI,问题是我要UTF-8的,怎么生成啊?
: 之所以要UTF-8,是因为生成的是一个xml,然后另外一个C#的程序去读,如果unicode

avatar
z*e
3
我去try try, thanks.

encoding。

【在 X****r 的大作中提到】
: 这个和CreateFile没什么关系,你要在UTF-16和UTF-8之间进行转换的话用
: wcstombs/mbstowcs这些函数。
: 见 http://msdn.microsoft.com/en-us/library/6y9se58z(VS.71).aspx
: 另外,你如果用printf/wprintf系列函数写文件的话,可以用%S而不是通常的%s来表明
: 你传进去的字符串是另一种encoding。
: 见 http://msdn.microsoft.com/en-us/library/hf4y5e3w.aspx
: 顺便说一下,Unicode是指Character Set,UTF-16和UTF-8都是Unicode的一种encoding。
: 只是在VS里经常就把UTF-16称作Unicode。
:
: unicode

avatar
a*l
4
use CreateFileA
Actually, CreateFile is mapped to CreateFileA or CreateFileW depending on
settng.

unicode

【在 z***e 的大作中提到】
: 我去try try, thanks.
:
: encoding。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。