C++ string format的时候出错
来源:互联网 发布:董云飞老师网络公开课 编辑:程序博客网 时间:2024/04/23 14:28
在代码中使用了类似"%s"等格式化来处理string类型的时候,出现:
cannot pass object of non-POD type 'string'(aka 'basic_string<char>')through variadic function
这样的错误,百度下发现:
printf,scanf,fprinf等可以format的一个字符串中使用"%s"时,只能使用C string;如果是C++ string的话,就必须先变成C string,否则就会出现类似上面的错误.
示例代码:
string str ("Test string");printf("%s\n", str);
这个时候会出现编译错误:
warning:cannot pass objects of non-POD type 'struct std::string' through '...';call will abort at runtime.
此时,只需要将C++ string转化成 c string就可以了,如:
str.c_str();
- C++ string format的时候出错
- inputstream转为String的时候会出错
- String.Format举例(C#)
- C#,String.Format()
- String.Format(C#)
- C#String.Format大全
- C#:String.Format 方法 (String, Object)的用法
- C#,String.Format,数字格式化输出 ,format
- String Format for Double [C#]
- String Format for Double [C#]
- String Format for DateTime [C#]
- String Format for Double [C#]
- String Format for Double [C#]
- c#string.format入门(1)
- 详解C#string.Format性能
- string.format的使用
- String.format()的使用方法
- string.Format的用法
- ios中数据存储的四种方式
- 1000
- ubuntu修改interfaces for network
- vim快捷键高级用法
- broadcast
- C++ string format的时候出错
- SQL 语句大全
- Android Sandbox(沙箱)开源工具介绍
- android电源管理小总结
- ubuntu解压命令全览
- 二分图的最大匹配问题(匈牙利算法)
- python如何将字符串转换成字典dict类型
- android proguard 使用 (二)
- DirectX 在对话框播放视频