游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2271|回复: 8

[C++]使用wchar这个类型会不会导致不稳定???

[复制链接]

6

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2006-6-5 07:18:00 | 显示全部楼层 |阅读模式
我使用"wchar wstrNumber[20]"这种变量的时候,有时候(并不是每次)在程序结束的时候,VC.NET会因为出错而中断,说什么该变量的堆栈有问题,改了半天没改好.

最后,我把"wstrNumber[20]"改成"wstrNumber[30]",就没问题了.是不是 "wchar"这种变量不稳定啊?????

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2006-6-5 08:52:00 | 显示全部楼层

Re:[C++]使用wchar这个类型会不会导致不稳定???

不是wchar这种变量不稳定,是你写的程序不稳定

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2006-6-5 12:04:00 | 显示全部楼层

Re:[C++]使用wchar这个类型会不会导致不稳定???

楼主还是用string吧……

6

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
 楼主| 发表于 2006-6-5 12:26:00 | 显示全部楼层

Re:[C++]使用wchar这个类型会不会导致不稳定???

我写的程序中唯一用到"wchar"的函数就是"swprintf",其他地方根本没用过.
那如何解释我把"wstrNumber[20]"改成"wstrNumber[30]"之后,再没出现任何问题呢???

我查看了MSDN和其他文档,上面提到 "safe string"的概念,但我不清楚什么意思

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2006-6-5 18:31:00 | 显示全部楼层

Re: Re:[C++]使用wchar这个类型会不会导致不稳定???

druculaX: Re:[C++]使用wchar这个类型会不会导致不稳定???

我写的程序中唯一用到"wchar"的函数就是"swprintf",其他地方根本没用过.
那如何解释我...


是不是你在使用swprintf时越界导致栈中的值被改写或是栈被破坏了吧?

6

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
 楼主| 发表于 2006-6-6 07:36:00 | 显示全部楼层

Re:[C++]使用wchar这个类型会不会导致不稳定???

恩..............很可能就是这个原因
但是,swprintf越界的时候没有任何提示啊,只是在退出程序的时候,才报告说堆栈错误

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2006-6-6 10:13:00 | 显示全部楼层

Re:[C++]使用wchar这个类型会不会导致不稳定???

变量本身只是一个数据容器,不存在稳定性的说法,可能在操作上出现错误导致由这个变量操作的异常出现,检查代码才是解决的方法。

print这个系列的函式已经很古老了,如果无法确定数据源正确可靠,最好自己做个安全检测。

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2006-6-6 20:53:00 | 显示全部楼层

Re:[C++]使用wchar这个类型会不会导致不稳定???

你可以用strsafe.h里的函数代替传统的C函数

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
发表于 2006-6-6 22:28:00 | 显示全部楼层

Re:[C++]使用wchar这个类型会不会导致不稳定???

楼主还是不要怀疑c++好点。多想想自己是否写错了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 16:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表