gpt4 book ai didi

c++ - 我想获取用户输入并将其放入字符串数组 c++

转载 作者:太空宇宙 更新时间:2023-11-04 14:11:57 25 4
gpt4 key购买 nike

我想接受用户输入并将他们输入的内容放入一个字符串数组中。我希望它读取每个字符并用空格分隔每个单词。我确信这编码很糟糕,尽管我确实尝试过把它写得体面。我收到段错误,想知道如何在不收到错误的情况下执行此操作。这是我的代码。

#include <iostream>

using namespace std;

void stuff(char command[][5])
{
int b, i = 0;
char ch;
cin.get(ch);

while (ch != '\n')
{
command[i][b] = ch;
i++;
cin.get(ch);
if(isspace(ch))
{
cin.get(ch);
b++;

}

}
for(int n = 0; n<i; n++)
{
for(int m = 0; m<b; m++)
{
cout << command[n][m];
}
}

}

int main()
{
char cha[25][5];
char ch;
cin.get(ch);
while (ch != 'q')
{
stuff(cha);
}

return 0;
}

最佳答案

b未初始化,因此在首次用作索引时将具有随机值。初始化 b并确保数组索引不会超出数组的范围。

或者,使用 std::vector<std::string> operator>>()忘记数组索引:

std::string word;
std::vector<std::string> words;
while (cin >> word && word != "q") words.push_back(word);

关于c++ - 我想获取用户输入并将其放入字符串数组 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com