我已经在任何地方找到了这样的事情,信不信由你,大约3个月......
而且我也想到这可能是非常容易的......但经过多次试验,我没有成功。
有可能在其他地方找到这个,但我也不确定如何搜索它,这就是我在这里问的原因。
所以这就是我想做的事情: 我有这样的文件
1 Din 17 M 10 D FFF
2 Dout 12 F 11 F FFF
1 Din
2 Dout
文件在此处结束。
我想将整个文件读入变量,我已经这样做了,例如:
std::ifstream readP("properties.dat");
unsigned short ID;
std::string Name;
unsigned short p2;
char p3;
unsigned short p4;
char gTemp;
std::string fProperty;
while(readP >> ID >> Name >> p2 >> p3 >> p4 >> gTemp >> fProperty);
现在我想阅读除[Property]和[Names]之外的所有内容,因为很明显文本中的这些字段,读者不会阅读,因为它们不是从while循环中读取的。
实现这一目标的好方法是什么?
答案 0 :(得分:1)
你必须做一些更精细的解析。
所以,试试这个:
答案 1 :(得分:0)
你不能忽视"线条,但你可以"跳过"它们。
我建议逐行顺序阅读std::getline,然后跳过不感兴趣的内容。
请注意,大多数文件系统(至少是Posix文件系统)中确实存在这些行。行通常由\n
终止,但文件是一个字节序列。
答案 2 :(得分:0)
你应该逐行阅读,并确定你是否要处理这一行。
您可以检查第一个字符是否为[
。
http://www.cplusplus.com/reference/string/string/at/
if (str.at(0) != '[')
{
//Process this line by splitting the string with space ect
}