| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2364 人关注过本帖
标题:c语言 宽字符(L),现在为什么不认了?是我的系统问题吗???
取消只看楼主 加入收藏
wzxiaodu
Rank: 1
等 级:新手上路
帖 子:32
专家分:2
注 册:2017-8-11
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
c语言 宽字符(L),现在为什么不认了?是我的系统问题吗???
程序代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
    wchar_t* wstr=L"中国";
    wprintf(L"%ls\n", wstr);
    return 0;
}


C-FREE 5   MinGW 编译
下面是错误提示:
[Error] C:\Users\Administrator\Documents\C-Free\Temp\未命名4.c:5:16: error: converting to execution character set: Illegal byte sequence
[Error]   wchar_t* wstr=L"中国";             ^~~~~~~

我印象中,以前这代码没有错,现在却错了,什么原因??
搜索更多相关主题的帖子: c语言 字符 系统 int C-FREE 
2018-07-23 20:15
wzxiaodu
Rank: 1
等 级:新手上路
帖 子:32
专家分:2
注 册:2017-8-11
收藏
得分:0 
回复 2楼 rjsp
程序代码:
#include <stdio.h>
#include <locale.h>

 
//编译连接加上  -fexec-charset=gbk -finput-charset=gbk 
int main(int argc, char *argv[])
{
    setlocale(LC_ALL,""); 
    char* str="中国";
    wchar_t* wstr=L"中国";
    printf("1:%s\n", str);
    wprintf(L"2:%ls\n", wstr);
    return 0;
}


[Error] C:\Users\Administrator\Documents\C-Free\Temp\未命名5.c:9:16: error: converting to execution character set: Illegal byte sequence
[Error]   wchar_t* wstr=L"中国";             ^~~~~~~

我找了以前能运行的代码,现在不行了!!??
2018-07-23 22:16
wzxiaodu
Rank: 1
等 级:新手上路
帖 子:32
专家分:2
注 册:2017-8-11
收藏
得分:0 
回复 2楼 rjsp
老大 上次那个SDKL LISTVIEW 问题的代码,我经你提醒修改后VS 2015没问题,可以分组了。
但 GCC 编译 不行 ,同样是加上 L""的这几行都出错了。。。
2018-07-23 22:20
wzxiaodu
Rank: 1
等 级:新手上路
帖 子:32
专家分:2
注 册:2017-8-11
收藏
得分:0 
回复 5楼 rjsp
大神,我错了,把GBK 改成 GB2312就行了!
2018-07-25 10:38
快速回复:c语言 宽字符(L),现在为什么不认了?是我的系统问题吗???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016322 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved