社区
工具平台和程序库 帖子详情 为什么我的cout输出没有任何显示呢?????? 七十二骑士 2020-01-28 06:12:29 具体代码如下所示:
#include "iostream"
using namespace std;
int main() {
unsigned char c = -1;
char d = 'a';
cout << c << d << endl;
//printf("%d %c", c, d);
return 0;
}
但是程序如下图:
有啥解决办法嘛???
...全文
4129 6 打赏 收藏 为什么我的cout输出没有任何显示呢?????? 具体代码如下所示: #include "iostream" using namespace std; int main() { unsigned char c = -1; char d = 'a'; cout << c << d << endl; //printf("%d %c", c, d); return 0; } 但是程序如下图: 有啥解决办法嘛??? 复制链接
扫一扫 分享 转发到动态 举报 AI 作业
写回复 配置赞助广告取 消
确 定
用AI写文章 6 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 Feriii 2020-01-29 打赏举报 回复 1 首先楼主的这一行代码是存在缺陷的,很明显,楼主声明了一个无符号的char类型变量但是却使用一个整形字面值-1为其初始化,但是c++语言对于这种情况会进行隐式的类型转换,即就是在初始化过程中初始值转换为变量类型,那么在这里编译器就会认为-1也就是10000001为129,在ascii表中没有定义129对应的字符形式,那么显而易见要么输出来是乱码要么进行错误输出,楼主这里应该进行的是错误输出导致std::cout没有进行正常返回而导致后面的字符'a'也没有输出,这取决于编译器的不同。建议,楼主尝试将字符集换成宽字符集,或者使用Unicode字符集尝试,但是对于Unicode字符集来说不能设置signed或者unsigend。 GKatHere 2020-01-29 打赏举报 回复 引用 4 楼 七十二骑士 的回复:#include "iostream"
using namespace std;
int main() {
//unsigned char c = -1;
char d[20];
cin >> d;
cout << d << d;
//printf("%d %c", c, d);
return 0;
}
代码没问题,只不过要先输入 寻开心 2020-01-29 打赏举报 回复 中文可以显示
具体显示什么要看编码的格式了
c++是支持多种编码格式的
另外, -1是0xff不是129 七十二骑士 2020-01-28 打赏举报 回复 引用 2 楼 寻开心 的回复:-1按照char类型来理解就是0xFF, 它和字母a组合起来, 很可能会被认为是一个不可见的字符了。
cout是支持输出中文的,当使用这种ascii数值大于0x7f的字符组合的时候, 很可能是变成了不可见的字符了那再问一下,中文是不是也显示不出来??代码:
#include "iostream"
using namespace std;
int main() {
//unsigned char c = -1;
char d[20];
cin >> d;
cout << d << d;
//printf("%d %c", c, d);
return 0;
} 寻开心 2020-01-28 打赏举报 回复 -1按照char类型来理解就是0xFF, 它和字母a组合起来, 很可能会被认为是一个不可见的字符了。
cout是支持输出中文的,当使用这种ascii数值大于0x7f的字符组合的时候, 很可能是变成了不可见的字符了 寻开心 2020-01-28 打赏举报 回复 输出了不可见的字符了吧
-1 是0xff在这里, 属于不可见字符。
[VS]VS2015C++cout输出中文显示?? 在VS2015C++win32控制台编程中,我们经常采用cout输出信息,但是有时我们发现,使用cout输出中文时,中文显示成了??。昨天小编就遇到了这种情况,cout输出乱码,但printf却是正常。造成这种情况的问题有很多,解决办法也不一定相同:
一、有可能控制台的编码方式与源代码的编码方式不对应造成的,小编查看了一下自己的源代码是GB2312,而控制台是GBK,是对应的,所以可以排除这种情况... C++中cout中文显示乱码???? 使用旧版的控制台可以解决问题。
调出控制台右键选择"属性"之后选择旧版本。
C++中的cout的功能是什么呢?cout如何打印输出单行单份或者多份内容到控制台上呢? cout是用于将数据输出到控制台的对象。使用 C++中cout输出中文乱码的原因是什么呢?如何修复控制台输出中文乱码?指出下面代码中是如何解决中文乱码的呢? 问题描述:C++中cout输出中文乱码的原因是什么呢?如何修复控制台输出中文乱码?指出下面代码中是如何解决中文乱码的呢?问题解答:在 C++ 中,cout输出中文乱码的原因通常是因为控制台的字符编码与程序使用的编码不匹配。默认情况下,控制台使用的字符编码可能是系统的默认编码(例如 Windows 的 GBK 编码),而程序可能使用的是 UTF-8 编码。这种编码的不匹配就会导致在控制台上输出中文时出现乱码。 C++中cout的含义???? C++中cout的含义????
由于以前学过C,所以这段代码的其它部分在我看来都还算“正常”,然而cout却很独特:既不是函数,似乎也不是C++非凡规定出来的像if,for一类有非凡语法的“语句”。由于只是初步介绍,所以那本书只是简单的说cout是C++中的“标准输入输出流”对象……这于我而言实在是一个很深奥的术语。这还没完,之后又遇见了cin……因为不知底细,从此使用它们的时候都诚
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖 与我相关 我的任务 工具平台和程序库 C/C++ 工具平台和程序库 复制链接
扫一扫 分享 确定 社区描述 C/C++ 工具平台和程序库 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章