为什么C++打开不存在的文件,执行程序后却发现该处自动生成了一个文件

代码如下:#include<iostream.h>#include<fstream.h>#include<stdlib.h>void main(){ fstream infile,outfile; infile.open("d:尀尀test1.txt",ios::in); if(!infile) { cout<<"test1打开失败尀n"<<endl; //abort(); } outfile.open("d:尀尀test2.txt",ios::app); if(!outfile) { cout<<"test2打开失败尀n"<<endl; //abort(); } char ch; while(infile.get(ch)) outfile.put(ch); infile.close(); outfile.close();}
2026年09月22日 21:13
有3个网友回答
网友(1):

infile.open("d:\\test1.txt",ios::in); 这句话就出问题了啊,相当于是直接创建了一个test1.txt的文件了,windows会认为,如果你要打开的文件不存在,那么创建这个文件,所以你下一句的判断就失去意义咯。

网友(2):

因为 你程序中检测到没有那个文件后,还在写这个文件,系统在调用 PUT的时候发现没有这个文件 给你自动生成的。

网友(3):