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

How to input a string in a 2D array in C++?

本文关键字:数组 字符串 2D 输入 C++      更新时间:2023-10-16

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

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

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

也就是说,看看这个错误,你似乎在试图做一些类似于的事情

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

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