ユーザー入力を受け取り、入力内容を文字列の配列に入れたいと思います。各文字を読み取り、各単語を空白で区切ってほしい。私はそれをまともにしようとしましたが、これは正しくコーディングされていないと確信しています。セグメンテーション違反エラーが発生し、エラーを発生させずにこれを行うにはどうすればよいか疑問に思っていました. これが私が持っているコードです。
#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;
}