c++,cout<<char(10)

c++,cout<<char(10)实际上输出什么

我这里在输出0x0a前会多输出一个0x0d,即char(13);

这两个换行符为什么会一起出现

正常来说我输出一个char只会输出一个字节,而这个输出是两个字节

要怎么绕开这个问题,麻烦各位指导,谢谢!

这个应该是标准库做的事情。【换行】字符在不同操作系统定义不一样,可以尝试在linux下执行,应该就只会有一个字节了。

但如果都是文本处理,应该不用关心这个,比如处理输入字符流的时候,标准库也能把dos的回车+换行处理成\n

建议不要混用字符流和字节流

char确实只占1个字节,但对于一些编译器来说比较特别,占两个字节
对了,你输出这个是有啥作用吗?我可以帮你看看

cout << char(10);实际上输出的是换行,就和cout<<endl一样。cout << char(13)并不能换行。