编辑配置中的值。文件

时间:2010-01-24 19:22:17

标签: c++ winapi

目前,我正在使用ReadFile()和WriteFile()API编写&从文件中读取。如果数据足够大以便再次写入,是否有任何API函数来替换/编辑文本?我只听说过SetFilePointer(),但我不太确定如何使用它来替换文件中的文本。

例如,从文件中选择一个字符串/ char,比如Key2的值“0”。

Key1 = 0
Key2 = 0

并将其更改为“1”。

Key1 = 0
Key2 = 1

3 个答案:

答案 0 :(得分:2)

函数GetPrivateProfileString和WritePrivateProfileString可能对此有用。

答案 1 :(得分:1)

有许多用于随机访问文件的API。它们几乎完全不适合处理文本文件。

考虑是否不是改变1位数,而是从1改为2 - 即从1“改为”20“,你不仅要实现”有效“的随机访问方式,还要”低效“重写文件的方式。因为你真的只想要一种做事方式,所以“效率低下”是一种方法。

答案 2 :(得分:0)

对于文本文件,将它们读入内存,完成工作并将其写回来是最佳选择。例如,将文件内容读入std::string,查找Key2 =并用新值替换该行的其余部分。然后再次保存字符串。您可以使用std::ifstream在没有单个WinAPI调用的情况下从文件中读取。