在C++中如何在2D数组中输入字符串?

在C++中如何在2D数组中输入字符串?,c++,C++,我试图在2D字符数组中输入字符串。这就是我得到的错误 error: cannot convert ‘std::string {aka std::basic_string<char>}’ to ‘char’ in assignment inputArray[i][j] = inputMessage; 您可能正试图将std::string插入到char数组中。 首先,C字符串是一个字符,而不是一个简单的字符。 尝试使用c_str。 myarray[0]=astring.c_str 如果

我试图在2D字符数组中输入字符串。这就是我得到的错误

error: cannot convert ‘std::string {aka std::basic_string<char>}’ to ‘char’ in assignment
inputArray[i][j] = inputMessage;

您可能正试图将std::string插入到char数组中。 首先,C字符串是一个字符,而不是一个简单的字符。 尝试使用c_str。
myarray[0]=astring.c_str

如果你想要一个完整的答案,你应该发布给你带来麻烦的代码

也就是说,从错误的角度来看,您似乎试图按照以下思路做一些事情:

std::string inputMessage = "Some String";
char inputArray[100][1]; //Or whatever dimensions you have

for (int j = 0; j < 1; ++j) {
    for (int i = 0; i < 100; ++i) {
        inputArray[i][j] = inputMessage; //Error, can't assign a string to a single 'char'
}

为什么不发布代码?您不能将std::string分配给可能是char[X][Y]的对象。@remyabel:我认为数组更可能声明为std::string inputArray[N]。显然,在没有看到代码的情况下,猜测或猜测都是推测。您希望字符串存储在哪里?在数组的一行中?您正在尝试将其分配给单个项目,该项目是一个字符。
cannot convert 'std::string {aka std::basic_string<char>}' to 'char' in assignment
std::string inputMessage = "Some String";
char inputArray[100][1];

for (unsigned int j = 0; j < 1; ++j) {
    for (unsigned int i = 0; i < 100 && i < inputMessage.size(); ++i)
        inputArray[i][j] = inputMessage[i];
}