写一个使用libcurl获取网页的测试程序,发现获取的网页内容使用cout显示总是不完整,内容从中间截断了。
到网络上查找,也总是对不上号,不是自己想要的答案。
后来发现,写文件的方式,获取的网页文件是完整,获取的内容大小也是正确的,那是不是输出的问题呢?
经过测试果然如此,把获取的内容打印出来,string长度没问题,但是使用cout总是显示一小半,而且发现总是到中文的地方停止输出了。
那是不是中文输出导致的呢?
结果设置输出字符类型之后,果然可以全部显示。
如果不设置中文环境
https://i-blog.csdnimg.cn/direct/bcaab6c8a85949ba8d9028f11ec6ac8f.png" width="946" />
设置了中文环境
https://i-blog.csdnimg.cn/direct/df7a83196e2d4713802b7c0d3d3195f9.png" width="993" />
设置方法
SetConsoleOutputCP,system("chcp 65001"),(std::locale("zh_CN.UTF-8")三种方法都是可以的
https://i-blog.csdnimg.cn/direct/c7e11c1f1f4d4325bd46a218e4d548ed.png" width="737" />
等待接收完成
https://i-blog.csdnimg.cn/direct/1ee5d40b23f843ad838592b0caa1e1f3.png" width="616" />