C++ 如何将变量分配给字符串数组的元素
可能是我的问题出了问题,我试图知道我的代码如何能像这样运行…我的问题是什么,请帮助我 这是我的密码:C++ 如何将变量分配给字符串数组的元素,c++,arrays,string,C++,Arrays,String,可能是我的问题出了问题,我试图知道我的代码如何能像这样运行…我的问题是什么,请帮助我 这是我的密码: string arr[3][4]; arr[1][0] = "34234"; printf("%s",arr[1][0]); 但是我的输出是%#$(类似于这样的)。请帮帮我,非常感谢 使用std::cout而不是printf和std::string,因为C函数printf没有std::string的视图 #include <iostream> std::cout <<
string arr[3][4];
arr[1][0] = "34234";
printf("%s",arr[1][0]);
但是我的输出是%#$(类似于这样的)。请帮帮我,非常感谢 使用
std::cout
而不是printf
和std::string
,因为C函数printf
没有std::string
的视图
#include <iostream>
std::cout << arr[1][0];
这是因为
printf
中使用的C样式字符串,必须使用以下方法:
<>但是你真正要做的是学习如何使用原生C++流输出:
std::cout << arr[1][0];
std::coutprintf
是一个C函数,对诸如std::string
之类的类型一无所知。您可以从
标题使用类型安全std::cout
:
std::cout << arr[1][0];
字符串
??用户定义的???,printf(“%s”,arr[1])
您甚至没有收到警告吗?您是否在编译时未启用警告?您应该使用std::cout打印非常感谢您,我解决了我的问题并知道它是如何发生的
std::cout << arr[1][0];
std::cout << arr[1][0];
printf("%s",arr[1][0].c_str());