VS2012 C++程序怎样输出定义的字符串,如下输出乱码

这种输出方法没有代码报错cout<<str<<endl;求解!!... 这种输出方法没有代码报错cout<<str<<endl;
求解!!
展开
 我来答
真的很要命啊
2014-11-25 · TA获得超过193个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:111万
展开全部
其实你用 printf 和 string 搭配就是不对的,这样属于混用,或是对实质的东西理解有误,才会出现乱码的现象。你要是实在想用 printf ,你就 改成 printf("%s\n",str.c_str());
这样就不会出现乱码了。你试试。不懂的话请追问。满意请采纳。
flarie
推荐于2018-05-12 · 超过22用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:43.2万
展开全部
  1. 写法有问题:  printf("%s\n",str.c_str());

  2. 把你的工程的语言调整成 Multi-byte, 在这个地方project->properties->configurations Properties -> General
    ->Project Defaults -> Charater Set中将Unicode字符集改为Multi-Byte;


    理论上, 这两条下来就不会有问题了;

    不过..要是还有问题..确认下你的这个文件的编码格式, 把他给转成utf8的, 这样你的"你好"这两个字就是utf-8的编码格式了, c++就能直接读出来了.

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-25
展开全部
cout<<str;
追问

追答
加个头文件:#include "iostream"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式