首页 热点资讯 义务教育 高等教育 出国留学 考研考公

在VS2008中,如果使用了宽字符的话,每次遇到afxMessageBox都要在文本信息前加上L,感觉有点烦,刚从6.0转

发布网友

我来回答

4个回答

热心网友

L""的类型是wchar_t * ""的类型是char *

如果觉得麻烦不用宽字符就好了。不过宽字符模式因为不需要字符格式转换,执行速度会比多字节模式要快点...点。Winnt环境下用宽字符也算是个好习惯。多字节模式每次调用涉及字符串的系统函数都会产生 申请内存-〉转换格式-〉执行宽字符版本-〉转换格式-〉释放内存 的过程x_x

热心网友

这是C语言的语法规定,没法改

或者用MessageBoxA函数吧

热心网友

char *str[N],mssage[STR_LEN+1];

这句 分写。
char *str[N];
char mssage[STR_LEN+1];
n久不用6.0可能 是句的编译问题~

re:请问分开与不分开写有区别吗?有特殊的意义?
编译器对语句的默认的解释不同。
在6.0中是这样解释你这条语句的:
char *str[N]; char mssage[STR_LEN+1];
在08中可能就变成这样了
char *str[N]; char *mssage[STR_LEN+1];
所以mssage变为指针数组了。只能容纳3个字符+/0。现在公司里也没08。这个也没实践。不过看着大体应该是这的问题。

热心网友

2008卡的要死,最后还是换回6.0了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com