可能是我的问题出了问题,我试着知道我的代码怎么能这样运行...我的麻烦是什么,请帮我这里是我的代码:
string arr[3][4];
arr[1][0] = "34234";
printf("%s",arr[1][0]);
Run Code Online (Sandbox Code Playgroud)
但我的输出是%#$(类似这样).请帮帮我,非常感谢你.
这是因为printf函数对C++ std::string类一无所知.它就在那里,因为它是C标准库的一部分.
要获得可以使用的C风格字符串,例如,printf您必须使用以下c_str方法:
printf("%s", arr[1][0].c_str());
Run Code Online (Sandbox Code Playgroud)
但你真正应该做的是学习如何使用本机C++流输出:
std::cout << arr[1][0];
Run Code Online (Sandbox Code Playgroud)
PS.相反,旧的C风格的数组,你也应该看看C++ 标准容器,比如std::vector和std::array.