wprintf不能在linux下输出的问题

转载 2012年03月27日 09:21:44

这两天在wprintf linux下输出的问题上花了很多时间,在网上找了很多方法,试了一下根本就不能用,今天终于在师兄的帮助下解决了。

wprintf是专门为宽字节字符wchar_t设计的输出函数,使用方式是:

wchar_t *wc = L"我是中国人"; wprintf(L"%ls",wc);

wchar_t类型的字符串声明,变量前要加L来标识宽字符串,但好像在有些Linux版本上编译会有问题,输出是格式字符串也要加L,而且格式要是%ls。或者直接不用格式字符串。这种调用方法其实是有用的,但是我却一直没输出成功。今天才知道,原来wprintf和printf是不能混用的,而我前面还用了printf输出其他字符串,所以后面wprintf什么都不输出,网上说原因是printf和wprintf是用的不同的输出流,是不能放在一起用的。这个问题真是害人不浅。

其实不用wprintf只用printf也是能输出宽字符串的,但是可能编译的时候会有警告吧,具体用法是:

printf("%ls",wc);

注意,千万不要把wprintf和printf混用!!!

相关文章推荐

控制台程序的中文输出乱码问题,printf,wprintf与setlocale

#include #include int main(void) { char str[] = "中文"; wchar_t wstr[] = L"中文"; printf("...

cout,wcout,printf,wprintf等函数的中文输出问题

1、cout和wcout   在缺省的C locale下,cout可以直接输出中文,但对于wcout却不行(至少VS 2005下不行)。对于wcout,需要将其locale设为本地语言才能输出中文:...

Tomcat的项目在windows下能访问而在linux下却不能访问的一个问题解决

1、问题描述 今天把windows下部署的SSH项目复制到linux的tomcat服务器上,发现怎么访问都是报404错误,而此前部署到windows上的tomcat完全可以访问,而且我之前在linu...

printf和wprintf、printf输出结束标识符、c++按值返回临时对象是否是const的实验

#ifndef _TEST_H #define _TEST_H #include #include using namespace std; int x = 5; struct s { pub...

关于linux下汉字输出的小问题

windows下的文档在linux下查看,汉字会出现乱码的原因? linux下汉字用utf-8编码,而windows下采用gb2312编码。 所以为了可以正常查看,可用命令将gb2312转化为utf...

ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)

之前一段时间正常使用的搜狗输入法突然无法输出中文(具体现象是,可以呼出搜狗输入法界面,但是候选词列表无显示),解决之后记录下来,希望能为同样遇到这个问题的人提供参考 困扰了我好几天......还好看...

linux下ecshop"邮件服务器配置"设置完成以后测试邮箱不能正常接收到邮件问题

在windows下安装ecshop之后,只需要正常配置,即可正常收到邮件,如下:   但是在linux下安装的ecshop始终提示发送成功,如下图, 但是测试邮箱却始终没有收到测试邮件, 于是...

Linux下非root用户能创建新文件,却不能拷贝文件的问题

今天遇到了一个比较奇怪的问题,Linux下非root用户登录,能够在某个目录下创建新的文件,却不能对目录下一个指定文件进行拷贝(该文件的所有者是登录的用户)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)