今天才发现printf不能直接输出string类型
来源:互联网 发布:ubuntu 启用root密码 编辑:程序博客网 时间:2024/06/05 02:42
原文地址:http://blog.csdn.net/spaceyqy/article/details/24840215
近期研究设计模式,在程序输出时心血来潮用了c版本的printf,结果就蛋疼了,一直输出是乱码,
string s = "中国";
printf("%s" , s);//输出乱码
果断切换成c++版本的cout发现可以正常输出。于是上网找答案,居然惊讶的发现printf输出字符串是针对char *的,换言之,printf只能输出C语言中的内置数据,string不是c语言内置数据。
更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是&s并非字符串“中国”的首地址,而是s这个对象的首地址。
所以要做如下操作:
string s = "中国";
printf("%s" , s.c_str());//string中c_str()成员方法返回当前字符串的首字符地址
或cout<<s;//string中重载了“<<”操作符
阅读全文
0 0
- 今天才发现printf不能直接输出string类型
- 今天才发现printf不能直接输出string类型
- C/C++【初级】printf不能直接输出string类型
- printf输出string类型数据
- printf使用%s直接输出string类型,Program received signal SIGILL, Illegal instruction
- printf使用%s直接输出string类型,Program received signal SIGILL, Illegal instruction
- 今天才发现
- 用printf输出string类型数据总结
- 用printf输出string类型数据总结
- 用printf输出string类型数据总结
- 用printf输出string类型数据总结
- 今天才发现一片天地!
- printf输出string
- printf中输出类型
- printf格式化输出类型
- printf不支持string类型
- 今天发才发现csdn Hi
- MFC,晕,今天才偶然发现FloatControlBar。。。
- java ClassLoader详解
- 熟悉caffe
- 性能最高提升300%!阿里云数据库HBase版上线
- 动态广播
- 购买、配置阿里云Linux服务器配置ftp发布网站全教程
- 今天才发现printf不能直接输出string类型
- Uri结构与代码提取
- GCC&&G++ C && C++ 内嵌汇编和调用汇编函数(子程序)的几种实现方式(x86,ARM自己对照改)
- python ctypes 探究 ---- python 与 c 的交互 近几天使用 python 与 c/c++ 程序交互,网上有推荐swig但效果都不理想,所以琢磨琢磨了 python 的 ct
- 怎么查看端口被谁占用并将端口释放
- gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接
- ruby是什么
- 百万数据测试 Entity Framework 到底有多慢
- 详解LOG4J2配置以及与slf4j的集成