C++不会创建要将文本输出到的文件
C++ will not create a file to output text to?
所以,我这里有一个简单的C++代码片段,它只是要求文件路径,检查文件路径是否存在,如果存在,程序就会关闭。如果没有,它会创建一个文件并向其中写入文本。我输入的路径是 C:\temp.txt,但无论我使用哪个路径,结果都是相同的:不会创建任何文件。我正在使用Visual Studio 2010。
string outFile = "";
cout << "Enter a file path for an output file that does not exist already: ";
cin >> outFile;
ofstream file_writer;
file_writer.open(outFile, ios::out);
if (file_writer.good()) {
cout << "This file exists already!" << endl;
system("PAUSE");
return 255;
}
else
file_writer << "Hello";
file_writer.close();
你可以试试:
string outFile = "";
cout << "Enter a file path for an output file that does not exist already: ";
cin >> outFile;
ofstream file_writer;
file_writer.open(outFile, ios::in);
if (file_writer.good()) { //This now just checks if the file exists already
cout << "This file exists already!" << endl;
system("PAUSE");
return 255;
}
file_writer.open(outFile, ios::out); //Now since we know the file doesn't exist, we can create it safely
if (!file_writer.good()) {
cout << "Failed to create file!" << endl;
return 254;
}
file_writer << "Hello";
file_writer.close();
检查您的 fail() 错误消息:
if (outfile.fail())
cout << strerror(errno) << endl;
不能写入"C:"。尝试使用不同的路径,它应该有效。
很好! 如果未发生错误,则返回 ofstream::good()
true。在 if 条件中使用否定。
if (!file_writer.good()) {
...
}
这个回复可能有点晚了,但我只花了两天时间弄清楚为什么Visual Studio C++没有创建任何文本文件。
我正在浏览 Wrox 专业版C++第四版。在第 13 章关于文件流部分的内容中,我无法获得任何示例。我花了很多时间下载具有相同结果的示例代码。
然后我查看了我的防病毒软件。其中有两个设置引起了我的注意:文件夹访问和排除项。我在Widows 10上运行Windows Security。我更改了排除项以防止安全软件监视我的 vs2019 文件夹和子文件夹。没有改善。
然后我查看了父文件夹c:files
。 这已启用文件夹访问。我删除了它,一切正常。我没有将文件夹访问权限放在整个文件夹中,而是在特定子文件夹上启用它,省略了 vs2019 文件夹。 我希望这可以节省一些令人沮丧的时间。
相关文章:
- 有没有办法简单地从 GPU 调用多个 cpp 输出文件?
- VI工作室代码错误无法打开输出文件主.exe
- 在代码块中查找输出文件
- 将未签名的字符写入输出文件
- 为什么我的代码不写入输出文件?
- 完成搜索任务时为空输出文件
- 如何将地图<列表<string>、矢量<string>>输出到输出文件?
- 无法在代码块 IDE 中打开输出文件.exe
- C++:更改 IF 语句中的输出文件
- 编译 gsoap 输出文件 (onvif) 时出现问题
- C++击球平均值程序使用输入/输出文件打印名称,平均值,最高/最低平均值时遇到麻烦
- while 循环中的流输出文件() 通常生成空文件
- 如何使用 Docker 访问输出文件
- 提升进程间共享内存删除、权限和输出文件
- 查找素数,然后将质数放入输出文件中
- GDB / C++ - 根据循环条件将多个变量记录到输出文件中
- 带有文件结束函数的 while 循环重复输出文件中的最后一个数字两次
- 我的输出文件未显示解决方案
- 输入文件中的第一个字符是输出文件中的最后一个字符,反之亦然
- C++,我正在尝试创建一个有效的.bmp输出文件