读书人

[]非规则变长文本判断的有关问题

发布时间: 2012-03-19 22:03:05 作者: rapoo

[求助]非规则变长文本判断的问题
有以下形式的一个文本文件:

44643 0xb000 Location Estimated to X,Y: 4.0, 5.50
44644 0xb000 N Index: 16, A: 39.0
44645 0xb000 Upper Left Corner: X: 0.0, Y: 0.0
44646 0xb000 0: X,Y,RSSI: 0.0, 0.0, 51.0
44647 0xb000 1: X,Y,RSSI: 0.0, 10.0, 52.0
44648 0xb000 2: X,Y,RSSI: 10.0, 10.0, 61.0
44649 0xb000 3: X,Y,RSSI: 10.0, 0.0, 64.0
44650 0xb000 4: X,Y,RSSI: 0.0, 0.0, 0.0
44836 0xb000 Location Estimated to X,Y: 5.0, 4.50
44837 0xb000 N Index: 16, A: 39.0
44838 0xb000 Upper Left Corner: X: 0.0, Y: 0.0
44839 0xb000 0: X,Y,RSSI: 10.0, 0.0, 49.0
44840 0xb000 1: X,Y,RSSI: 0.0, 0.0, 52.0
44841 0xb000 2: X,Y,RSSI: 0.0, 10.0, 56.0
44842 0xb000 3: X,Y,RSSI: 10.0, 10.0, 59.0
44843 0xb000 4: X,Y,RSSI: 0.0, 0.0, 0.0
45054 0xb000 Location Estimated to X,Y: 5.0, 4.50
45055 0xb000 N Index: 16, A: 39.0
45056 0xb000 Upper Left Corner: X: 0.0, Y: 0.0
45057 0xb000 0: X,Y,RSSI: 10.0, 0.0, 49.0
45058 0xb000 1: X,Y,RSSI: 0.0, 0.0, 51.0
45059 0xb000 2: X,Y,RSSI: 0.0, 10.0, 56.0
45060 0xb000 3: X,Y,RSSI: 10.0, 10.0, 59.0
45061 0xb000 4: X,Y,RSSI: 0.0, 0.0, 0.0

要提取出各个指定XY下的RSSI值,
上面的文件中,数据块可以通过“Location”这个标记判断数据块的个数,
但是小数据块中,所包含的数据行不一样,而且每一数据块中数据行的顺序有所不同,大家觉得可以通过什么方式来进行判断?

比如,定义了pRecord[i][j]
i---数据块序号
j---数据块中的数据记录的序号

如何将这些值读到pRecord[i][j]中?

谢谢!

[解决办法]
现在要是用fgets读的话,你觉得用什么判断行数比较好?
======================
每个块的记录个数不用判断, Block的个数也不用判断,
vector <> .size()会告诉你记录了多少!
至于文件的总行数, 加个变量记录一下就行: 每读一行, 变量加1就可以了.

读书人网 >C++

热点推荐