string c_str相关问题
#include <stdio.h>
#include <string>
std::string TestStr()
{
std::string ret = "test";
return ret;
}
void main()
{
std::string teststr = TestStr();
const char* test = TestStr().c_str();
printf("1: %s\n", test); //输出 空 或 乱码
printf("2: %s\n", TestStr().c_str()); //输出 "test"
printf("3: %s\n", teststr.c_str()); //输出 "test"
system("pause");
}
为什么2和3都能打出"test",但1却打不出来?
相关推荐
C语言printf输出string[可运行源码]
本文详细介绍了在C语言中使用printf函数输出string类型字符串的方法。首先指出printf函数只能输出C语言的内置数据类型,而string不是内置类型。string对象不仅包含字符串,还包含操作函数,因此直接使用&str无法获取字符串首地址。正确的方法是使用string的成员函数c_str(),该函数返回字符串的首字符地址。文章通过错误示例和正确示例对比,展示了如何正确调用c_str()函数来输出string对象中的字符串内容。
C/C++中关于std::string的compare陷阱示例详解
主要给大家介绍了关于C/C++中关于std::string的compare陷阱的相关资料,文中先对C/C++中的std::string进行了简单的介绍,通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
C++string (含字符串数组)相关用法.pdf
string数组 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf
C++ string详解
C++标准程序库中的string类方法详解
class_string_cpp
class_string_cpp


