老板分配给我一个任务,其中有把数据存入一个文本文件,这一步我已经做了,下一步就是从文件中读数据,我在网上看了很多都是一整块数据的读,这样对我来说没意思,因为那个文件的格式是:XXX parameter=?
XXX parameter=?我需要把?的部分读出来,其他部分不读。
请问在MFC中怎么写呢?用ifstream还是用CFile,CArchive之类的?
如何定位到行呢?因为如果严格定位到字节,前面的字节位数不一样怎么办?定义到行,再定义到字节应该就没问题了。
严重感谢大家!

解决方案 »

  1.   

    格式有什么规定吗,为什么不用INI文件。那样的话只要调用系统函数就能取值了
      

  2.   

    你都说了,“字节位数不一样怎么办”,如果长度无法计算获取,就只有全部读出来再分析了;否则计算好长度用SetFilePointer定位读取。
      

  3.   


    用INI文件+GetPrivateProfileString/WritePrivateProfileString多好
      

  4.   


    恩 像这种key = value格式的
    用INI文件吧
    要不然麻烦死
      

  5.   

    文件大么?不是特别大的话可以用cstdiofile读取啊,readstring一行一行的读取很方便,放到Cstring里面也很好处理的
      

  6.   

    如果这么困难,建议LZ更改数据文件的保存格式
    比如增加特殊标识
    比如去掉无用信息
    在比如保存为
     ?= XXX parameter...
      

  7.   

    如果每次都另存一行,可以用 cstdiofile 类,每次读取一行,之后字符串分析就可以了。