空白で区切られた文字列を、int型のベクトルまたは簡単にベクトルに変換できるものに変換する簡単な方法はありますか?数値の文字列をintベクトルに変換するC++
私は入力演算子(>>)を作成して、コマンドラインから入力された値を使用してバイナリツリーを作成しています。そして、これは私が午前問題は、私は私が必要な値を作成し、印刷することができますが、私はそれらを変換し、ベクターにそれらを置くことができないということです、それを
int main(int argc, char **argv)
{
stringstream stream;
stream << " 10" << " 11" << " 10" << " 2" << endl;
tree = new binary_tree();
stream >> *tree;
if (tree->inorder() != string("7 10 11")) //inorder() prints the tree in order
cout << "Test passed" << endl;
delete tree;
return 0;
}
を行くそのメインである - そのため私は値からツリーを作成する作業定義メソッドを持っています。
std::istream& operator>>(std::istream &in, binary_tree &value)
{
vector<int> input_tree;
string readline;
getline(in, readline);
cout << "(" << readline << ")" << endl; //prints correctly - (10 11 10 2)
//where I need to insert insert values into vector
for(int i = 0; i < input_tree.size(); i++)
{
insert(input_tree[i], value); //inserts the values from a vector into a binary tree
}
return in;
}
私はそれぞれの文字の上に)(文字列をループしてSTOIを使用して試してみましたが、それは常にスペースがエラーを起こした時はいつでもエラーが発生しました。
大変お手伝いいただきありがとうございます。重要な情報を見逃してしまった場合は、ごめんなさい。
あなたがあなたの代わりにそれを残し、「//私はベクターに挿入値を挿入する必要がある場所」コメントでそのコードを置き換えるので、入力を変換しようとした方法を正確に示す必要があります。 stackoverflow.comはコード作成サービスではありません。誰もあなたのためにあなたのコードを書くことはありません。しかし、あなたが 'int'ベクトルへの入力を解析しようとしていて、それがうまく動かず、何が間違っているのか分からなければ、これは有効な質問でしょう。しかし、 "私のためのコードを書いてください"は有効な質問ではありません。 –
文字列をベクトル型に変換する方法がある場合は、コードを記述するよう誰にも求めていません。参照用にコードを表示しているときに、非常に具体的なことを求めています。 –
KL123
それがあなたの質問なら、答えは "はい、道があります"です。 –