字符串中的C++数组 我有一个新的课堂作业,我需要在C++中制作刽子手。我已经设置好了所有内容,但我不知道如何从用户已经输入的字符串中生成数组。这是我得到的 #include <iostream> using namespace std; int main(){ string stringToGuess; cout << "Hello user, please enter a word to play hangman" << endl; cin >> stringToGuess; int arrLength = stringToGuess.length(); cout << arrLength << endl; char arr_To_Guess[arrLength] = {atoi(stringToGuess.c_str())}; for (int i = 0; i < arrLength; i++){ cout << arr_To_Guess << " "; } }

字符串中的C++数组 我有一个新的课堂作业,我需要在C++中制作刽子手。我已经设置好了所有内容,但我不知道如何从用户已经输入的字符串中生成数组。这是我得到的 #include <iostream> using namespace std; int main(){ string stringToGuess; cout << "Hello user, please enter a word to play hangman" << endl; cin >> stringToGuess; int arrLength = stringToGuess.length(); cout << arrLength << endl; char arr_To_Guess[arrLength] = {atoi(stringToGuess.c_str())}; for (int i = 0; i < arrLength; i++){ cout << arr_To_Guess << " "; } },c++,C++,我意识到我可以在不使用字符串生成数组的情况下实现这一点,但在赋值中需要这样做。老师的指示: 我们将一步一步地做这件事。 这是第一步: 要求用户输入一个单词,并将其保存到名为 细绳 然后,创建两个名为 好吧,好吧 第一个数组将包含用户输入的单词中的所有字母,第二个数组将包含玩家迄今为止正确猜测的所有字母。 如果用户输入单词 程序设计 变量的值为: stringToGuess:编程 arrToGuess:[P,R,O,G,R,A,M,M,I,N,G] arrCurGuess:[uuuuuuuuuuu

我意识到我可以在不使用字符串生成数组的情况下实现这一点,但在赋值中需要这样做。老师的指示: 我们将一步一步地做这件事。 这是第一步: 要求用户输入一个单词,并将其保存到名为 细绳 然后,创建两个名为 好吧,好吧 第一个数组将包含用户输入的单词中的所有字母,第二个数组将包含玩家迄今为止正确猜测的所有字母。 如果用户输入单词 程序设计 变量的值为: stringToGuess:编程 arrToGuess:[P,R,O,G,R,A,M,M,I,N,G] arrCurGuess:[uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 你的工作就是让这一切顺利进行。 首先看一下这个节目: 需要注意的一些事项:
我把所有的字母都大写

由于数组的长度在编译时未知,因此不能使用自动数组。必须动态分配阵列。将字符串复制到数组中最简单的解决方案是使用std::vector

但是,我怀疑您希望从字符串创建数组的想法是站不住脚的。你可能不需要这么做。您可以这样重写循环:

cin >> stringToGuess;
for (char c : stringToGuess) { 
    cout << c << " ";
}
我前面提到的问题是,arrLength在编译时是未知的,所以这个声明的格式是错误的

这很奇怪。尝试初始化新数组的第一个字符,使其具有字符串表示的任何数值。例如:

string: "123"
becomes: [123, 0, 0]

我怀疑这不是您想要的。

您知道,字符串是字符数组。这意味着你可以做到这一点

 string stringToGuess;
    cout << "Hello user, please enter a word to play hangman" << endl;
    cin >> stringToGuess;
    for(int  i = 0; i < stringToGuess.length(); i++)
    {
        cout << stringToGuess[i];
    }

为什么需要阵列?字符串是数组的抽象,您可以像使用字符串一样使用它
string: "123"
becomes: [123, 0, 0]
 string stringToGuess;
    cout << "Hello user, please enter a word to play hangman" << endl;
    cin >> stringToGuess;
    for(int  i = 0; i < stringToGuess.length(); i++)
    {
        cout << stringToGuess[i];
    }