我正在尝试将std::fstream用于io进行归档,并且如果文件尚不存在,我想创建该文件。
std::fstream my_stream
my_stream.open("my_file_name",std::fstream::binary | std::fstream::in | std::fstream::out);
if(!my_stream)
std::cout<<"error"<<strerror(errorno);
我得到这个结果:
“没有这样的文件或目录。”
在这种情况下如何创建文件?
最佳答案
您在对fstream::open()的调用中指定了std::fstream::in
。这是known强制其要求现有文件。
从您的std::fstream::in
参数中删除mode
,或者除了其他标志之外还指定std::fstream::trunc
。
关于c++ - std::fstream不创建文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8835888/