如何在C ++中输入二维数组中的字符串?

时间:2015-02-07 23:30:10

标签: c++

我正在尝试在2D char数组中输入一个字符串。这是我得到的错误。

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

2 个答案:

答案 0 :(得分:1)

如果您想要一个完整的答案,您应该发布导致您麻烦的代码。

那就是说,看着这个错误,你似乎正在尝试做一些事情:

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'
}

这引发了类似的错误:

cannot convert 'std::string {aka std::basic_string<char>}' to 'char' in assignment

要更正此问题,您需要将inputMessage的每个字符的值分配给inputArray的字符:

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];
}

答案 1 :(得分:0)

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