字符串中的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 << " "; } }
我意识到我可以在不使用字符串生成数组的情况下实现这一点,但在赋值中需要这样做。老师的指示: 我们将一步一步地做这件事。 这是第一步: 要求用户输入一个单词,并将其保存到名为 细绳 然后,创建两个名为 好吧,好吧 第一个数组将包含用户输入的单词中的所有字母,第二个数组将包含玩家迄今为止正确猜测的所有字母。 如果用户输入单词 程序设计 变量的值为: stringToGuess:编程 arrToGuess:[P,R,O,G,R,A,M,M,I,N,G] arrCurGuess:[uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 你的工作就是让这一切顺利进行。 首先看一下这个节目: 需要注意的一些事项:字符串中的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
我把所有的字母都大写 由于数组的长度在编译时未知,因此不能使用自动数组。必须动态分配阵列。将字符串复制到数组中最简单的解决方案是使用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];
}