我想要对一个已存在的文件进行读写,首先读整个文件,将数据保存到内存后对它进行处理,将处理后的数据在从新写入到这个文件中。
我想应该用API: CreateFile,以GENERIC_READ | GENERIC_WRITE 模式打开。
但是问题在于当我用ReadFile读完数据到pBuffer并修改它后,在用WriteFile将pBuffer写入这个文件,会在原来的数据前插入这段修改了的数据。而我的目的自然是希望用这段修改好的数据覆盖原来的数据。
想请问一下,有什么API,能够帮助我在写入数据前,对这个文件进行清空?
或者还有别的什么解决方案。
我想应该用API: CreateFile,以GENERIC_READ | GENERIC_WRITE 模式打开。
但是问题在于当我用ReadFile读完数据到pBuffer并修改它后,在用WriteFile将pBuffer写入这个文件,会在原来的数据前插入这段修改了的数据。而我的目的自然是希望用这段修改好的数据覆盖原来的数据。
想请问一下,有什么API,能够帮助我在写入数据前,对这个文件进行清空?
或者还有别的什么解决方案。
但是又来了个问题:
我的测试文件是test.txt,而我的目标文件是一个.ini文件.
请问各位,是否CreateFile文件只能以读的方式打开.ini文件(我可以在第一次打开.ini文件后读出数据),
而CREATE_ALWAYS就会返回FILE_ATTRIBUTE_ARCHIVE (第二次打不开)?还有,这个情况下是否一定要使用.ini文件读写的API
如:GetPrivateProfileString WritePrivateProfileString ?
当然可以用自己的方法来读写ini文件,只要按照规定的格式,就可以和GetPrivateProfileString/WritePrivateProfileString兼容。