2017-07-17 2 views
-3

情報を整数に変換して配列を出力すると、出力は0になります。 infoの各要素は、テキストファイルから取得された文字列として入力された番号です。例:513497628 19 4 16 4 7 14 18 15 10 6 6 1 7 17 88 10 79. strtokを使用して、行から空白を削除し、数字を情報に入力しました。私が情報をプリントアウトすると、すべての数字がそこにあります。これらを正しく変換するにはどうすればよいですか?数値の文字列配列を整数の配列に変換するとき、要素は0に変わります

string info[1000] 
int student[18]; 
for (int i=1; i<18; i++){ 
    //cout << info[i] << endl; 
    stringstream convert(info[i]); 
    convert << student[n]; 
    cout << student[n] << endl; 
    n++; 
} 
+1

があるされていますか? 'n'とは何ですか(そして' i'にはどうしたらいいですか)? – user0042

+0

このコードはコンパイルされません – dlatikay

+2

"<<" and">>"の違いに注意してください。 (もし不必要に一般的なコードを書いていなかったなら、コンパイラは助けになったはずです)。 – molbdnilo

答えて

0

String Streamsは私のこのためのツールです。彼らは自動的にデータ型(ほとんどの場合)をcinとcoutのように変換します。ここでは、文字列ストリームの例を示します。彼らは、ライブラリ

string info = "513497628 19 4 16 4 7 14 18 15 10 6 6 1 7 17 88 10 79"; 
int student[18]; 

stringstream ss(info); 

for (int i=0; i< 18; i++){ 
    ss >> student[i]; 
    cout << student[i] << endl;; 
} 

に含まれており、ここでREPL `str`は何種類ある https://repl.it/J5nQ

関連する問題