1

私が頭に浮かんだいくつかの質問があり、ここで質問しようとしました..

以下は演算子のオーバーロードです

ifstream& operator>>(ifstream &input, Map2D &map2d)
{
    int x1,x2,y1,y2;

    //get x1 first
    input.ignore(2);
    input>>x1;

    //get y1
    input.ignore();
    input>>y1;

    //get x2
    input.ignore(4);
    input>>x2;

    //get y2
    input.ignore();
    input>>y2;
    input.ignore();
}

これは私のテキストファイルです

Map2D, [5, 7], [3, 8]

私が頭に浮かんだ質問は、区切り文字がコンマであるため、x2 に対するものです。なぜ x2 は無視 (4) であり、無視 (2) ではないのでしょうか。しかし、ignore(4) は正しい 1 です。

空白と [

x2 refer to value 3

ありがとう!!説明用

4

1 に答える 1

1

4 つの異なる文字である "]、[" をスキップしています。

y1 を読み取ると、まだストリーム内の y1 の位置にいます。この位置は閉じ括弧「]」の終わりの前にあり、コンマ、空白、次の括弧「[」を読む必要があります。

于 2012-11-15T08:46:30.090 に答える