免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5925 | 回复: 11
打印 上一主题 下一主题

弱问,变量和字符串咋连接啊?(有实例) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-19 20:16 |只看该作者 |倒序浏览
int i=1;
LPWSTR fileName={L""};
char* suffix = ".jpg";
wsprintf(fileName,L"%d%s",i,suffix);
++i;


这是一段代码,想动态生成文件名,如1.jpg,2.jpg,.......

目前运行显示错误为:
0x761642da 处未处理的异常: 0xC0000005: 写入位置 0x00a6423c 时发生访问冲突

求高手指点一二。

论坛徽章:
0
2 [报告]
发表于 2011-07-19 20:24 |只看该作者
主要是你的fileName数组不够大,可以这样:
LPWSTR fileName[1024];

论坛徽章:
0
3 [报告]
发表于 2011-07-19 20:26 |只看该作者
显示出错啊

error C2664: “wsprintfW”: 不能将参数 1 从“LPWSTR [1024]”转换为“LPWSTR”

论坛徽章:
0
4 [报告]
发表于 2011-07-19 20:30 |只看该作者
回复 2# liexusong

显示出错啊

error C2664: “wsprintfW”: 不能将参数 1 从“LPWSTR [1024]”转换为“LPWSTR”

知道什么原因不?

论坛徽章:
0
5 [报告]
发表于 2011-07-19 20:31 |只看该作者
一个变通的方法,用char buf[N+1]来存储变量字串

论坛徽章:
0
6 [报告]
发表于 2011-07-19 20:34 |只看该作者
回复 5# lorchid213

您好,能稍微具体一点么?

论坛徽章:
0
7 [报告]
发表于 2011-07-19 20:35 |只看该作者
你为什么要用LPWSTR类型呢?用char不行吗?

论坛徽章:
0
8 [报告]
发表于 2011-07-19 20:38 |只看该作者
回复 7# liexusong

好像wsprintf的第一个参数需要的就是LPWSTR型的啊

论坛徽章:
0
9 [报告]
发表于 2011-07-19 20:41 |只看该作者
回复 7# liexusong

你说这样吗?
    int i=1;
    char fileName[1024];
    char* suffix = ".jpg";
    wsprintf(fileName,"%d%s",i,suffix);

还是显示错误  error C2664: “wsprintfW”: 不能将参数 1 从“char [1024]”转换为“LPWSTR”

论坛徽章:
0
10 [报告]
发表于 2011-07-19 21:17 |只看该作者
用sprintf()吧~wsprintf是用于宽字符的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP