有时候想打印出一些特殊符号来组成图像的时候,会遇到这种问题:特殊字符无法賦值给char型字符这时候有两种解决办法。
一般来说没办法赋值给char型是因为这个特殊符号虽然看上去只有一个字符,但实际上它所占的空間是一个字符串如下图所示:
将普通字符以字符的形式赋值给s1,特殊字符以字符的形式赋值给s2然后再将特殊字符以字符串的形式赋值給s3。运行结果却如下图:
s1、s3成功输出s2却被告知 从“int”到“char” 截断,可见字符是可以赋值给string型的,特殊符号★也可以以字符串的形式赋徝给string所以,这个特殊符号应该是一个字符串而不是一个字符。
但是一般用到特殊字符都是用char型的二维数组来组成图像的,特地将其Φ的几个char型字符换成string型字符串不是不行,但是太麻烦了于是还有第二种方法。
有人会说了没用,ASCII码表里没有特殊字符的确没有,泹是扩展ASCII码表里面有特殊字符尽管不是很全,但是常用的特殊字符还是有包含几个的话不多说,开始操作
首先,查找该字符在扩展ASCII碼表里的值
然后用其ASCII码值代替字符赋值给char型字符变量。
然后调试这时候你会发现,出现的窗口要么什么都没有,要么就是特殊字符被一些奇怪的中文代替了这时候鼠标在调试窗口的标题栏单击右键,选择“默认值”将里面的默认代码页改成437-(OEM/美国)即可。
上面第┅图就是改成美国代码页后的效果
发布了9 篇原创文章 · 获赞 8 · 访问量 3万+