2016-11-08 8 views
-5

データポイントとそのデータポイントに関連付けられた数字で構成されるファイルがあります。たとえば、ファイルのようなものになります。各データポイントのC++で余分なデータを読み取る

(1,2) 45 
(3,4) 12 
(23,9) 6 90 
(3,5) 4 8 

を、私は、変数「int型NUM1」と設定したい「int型のNUM2を。」ご覧のように、データポイントに添付された余分な数字を読まなければならないことがあります。余分な数字がないときは、num1とnum2を与えられた値に設定します。座標からxとyを得るのに問題はありませんが、両方の数値が得られていることを確認する方法はわかりません。私はgetl​​ine()を使う必要があるように感じますが、そこからどこに行くのかは分かりません。ファイルは「ins」として保存されます。

char parentheses1, parentheses2, comma; 
int x, y, num1, num2; 
ins >> parentheses1 >> x >> comma >> y >> parentheses2; 
ins >> num1 >> num2; 
+0

あなたが望むものを手に入れたら、残りの行を食べるのに 'getline'を使うことができます。 – NathanOliver

+0

あなたは私たちにコードを書いてほしい気分を味わってください –

+1

getlineで各行をstd :: stringに読み込み、その行を解析します。 –

答えて

1

Take Option 2 from this answerあなたのコードの基礎として。決してよりがある場合は、少し上に簡素化することができ

std::vector<int> numbers; // dynamic array of numbers 
int temp; 
while (iss >> temp) // exits as soon as you can't read an int from the stream 
{ 
    numbers.push_back(temp); // store in vector 
} 

ライン上に残って何も存在しなくなるまで

iss >> parentheses1 >> x >> comma >> y >> parentheses2; 

、その後は数字を収集し、xとyににstringstreamから

読みます2つの数字よりも

関連する問題