【发布时间】:2014-07-20 23:41:03
【问题描述】:
fstream datoteka;
datoteka.open("Informacije.txt", fstream::in | fstream::out | fstream::app);
if(!datoteka.is_open()){
ifstream datoteka("Informacije.txt")
datoteka.open("my_file.txt", fstream::in | fstream::out | fstream::app);
}/*I'm writing IN the file outside of that if statement.
所以它应该做的是创建一个文件,如果它之前没有创建,如果它被创建,则写入该文件。
你好,所以我想从我的程序中检查文件是否已经存在,所以如果文件已经存在,程序就会打开,如果文件没有打开(还没有创建,我可以写入它)之前)程序创建它。所以问题是当我创建一个 .csv 文件并完成写入并且我想检查写入是否真的存在时,文件无法打开。在 .txt 文件中,一切都是空白的。
【问题讨论】:
-
当你在 if 块中完成
datoteka时,文件将关闭。 if 块之外的原始文件从未打开过,因此您对 that 所做的任何事情实际上都不会“做”anything。 (我只能想象你没有发布的未经检查的 IO)if 块中的datoteka有什么意义?