我正在尝试打开一个文件,该文件可能存在也可能不存在,无法进行读写访问。我还需要对此文件执行搜索操作。我遇到的问题是“r”文件标志要求文件存在,“w”标志丢弃现有内容,“a”标志通过始终附加到文件末尾来禁用查找操作。因此,这三个选项中没有一个似乎可以满足我的需求。有关解决方法的任何想法?或者我是否需要选择性地创建文件,然后使用“r +”标志重新打开它?
我在c ++中使用cstdio(fopen,fseek,rewind等)。分析显示iostream对我的应用来说太慢了。
答案 0 :(得分:1)
单次fopen调用无法实现,因为没有一种模式能够满足您的需求。我认为如果文件不存在然后使用r +创建一个文件是最好的选择。