游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5124|回复: 12

VC竟然连八进制和十六进进制转义符都不支持

[复制链接]

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
发表于 2006-9-4 13:09:00 | 显示全部楼层 |阅读模式
我想用#号运算符来静态连接字符串,非要使用八进制和十六进制转义符不可,否则会被VC编译器过滤掉。

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2006-9-4 18:06:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

哈哈,知道怎么解决静态连接字符串了,不须用到转义符,原来很简单,拿出代码跟大家分享一下:

#include <iostream>

#define TEST_CAT_STR(a) "The current complier is " #a "!"

int main()
{
#if _MSC_VER == 1200
     std::count << TEST_CAT_STR(visual c++ 6.0) << std::endl;
#else
     std::count << TEST_CAT_STR(unrecognised) << std::endl;
#endif
     return 0;
}

运行结果:
The current complier is visual c++ 6.0!

0

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2006-9-4 18:57:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

故此证明不是VC不支持!

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2006-9-4 19:40:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

晕!楼上的不知道转义符是什么。。。VC确实不支持进制转义符。
我是说VC不支持进制转义符,而我现在知道静态字符串连接不须用到进制转义符,上面的代码是说明这个问题的,而不是证明VC支持进制转义符。

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2006-9-4 19:57:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

VC不支持进制转义符。VC在处理一个字符串时,只要碰到第一个进制转义符,就马上将其作为字符串的结束,不管码值是否为0:

printf("abc\0x20\0x20efg");   //0x20是空格符的ASCII值。


运行结果是:
abc
而支持C++标准的运行结果应该是:
abc   efg

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2006-9-4 19:57:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

我不知道其他版本的VC编译器是否支持进制转义符,但VC6是不支持的。

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2006-9-4 20:03:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

把你的程序放到VC2005上编译吧,问题会更多!

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2006-9-4 20:03:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

好像跟标准跑得越来越远了。。。

6

主题

396

帖子

396

积分

中级会员

Rank: 3Rank: 3

积分
396
发表于 2006-9-4 22:30:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持

98和2003的C++标准里面,\ooo表示8进制转义字符,\xhhh表示16进制转义字符,VC6完全支持

6

主题

390

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2006-9-5 10:44:00 | 显示全部楼层

Re:VC竟然连八进制和十六进进制转义符都不支持



C++标准?是C库吧,那也只是说C Standard Library没有按照标准实现

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 07:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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