阅读文件的问题

时间:2012-05-27 11:17:12

标签: c++ visual-studio-2010 file input

我正在创建一个程序来读取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。 谢谢!

1 个答案:

答案 0 :(得分:1)

当与字符串参数一起使用时,

>>运算符会读取由空格分隔的单词。如果您想阅读字符行,则应使用getline()代替。