0

autodesk の .dxf ファイルを読み込むプログラムを作成しています。文字列の読み取り中に問題が発生しました。

私が使用するとき:

string acad;
fstream f;
f.open(name);
f >> acad

文字列が「面取り」されている場合、それは完璧に機能します。ただし、文字列が「a & b」の場合、a までしか読み取ることができません。ファイル形式はパターンに従っているため、whileループを使用しています。

ファイルからの例:

  9           //loop 1
$DWGCODEPAGE  //loop 1
  3           //looop 1
ANSI_1252     //looop 1
  9           //loop 2
$LASTSAVEDBY  //loop 2
  1           //loop 2
sam & tom     //loop 2
9             //loop 3 
$INSBASE      //loop 3
 10           //loop 3
0.0           //loop 3

ご覧のとおり、「ANSI_1252」のようにスペースがない場合と、「sam & tom」のようにスペースがある場合があります。行内の文字列全体がスペースと一緒に格納されるように、コードを一般化するにはどうすればよいですか。各行の先頭にあるスペースを忘れてください。私はそのために使用wsしています。ありがとう!

4

1 に答える 1

1

>>演算子は、文字列パラメーターと共に使用すると、スペースで区切られた単語を読み取ります。文字の行を読みたい場合は、getline()代わりに使用する必要があります。

于 2012-05-27T11:21:39.813 に答える