c++ - 无法在 Visual Studio 2019 中打开文件
问题描述
您好,我目前正在关注一本关于 c++ 的书,目前正在学习文件 i/o 我正在尝试打开一个 .txt 文件,结果每次“无法打开文件
#include <iostream>
#include <filesystem>
using namespace std;
int main(int argc, char* argv[])
{
ifstream file_reader("myfile.txt");
if (!file_reader.is_open()) {
cout << "could not open file" << "\n";
}
int number;
file_reader >> number;
return 0;
}
我试图将 .txt 文件放入调试文件夹和项目文件夹,但没有成功。
解决方案
默认情况下,Visual Studio C++ 项目使用包含.vcxproj
文件的目录作为工作目录(所有文件操作都相对于该目录)执行。
如果您在“解决方案资源管理器”->“属性”菜单项中右键单击您的项目,您可以看到这一点。在新窗口的左侧选择“调试”。在右侧,“工作目录”项很可能设置为“ $(ProjectDir)
”。
项目文件夹,但没有成功。
因此,假设您没有更改该设置,这绝对应该有效。确保您确实将文件放在那里,并且它的名称正确(如果使用资源管理器,请确保在“查看”下启用“文件扩展名”,这样您就不会myfile.txt.txt
误以为是)。
也有可能由于其他原因打开文件失败(不幸的是,对此的 C++ 错误报告非常有限)。例如,如果文件权限不允许您的程序读取它。
如果仍然没有运气,您可以尝试编写一个文件,看看它放在哪里。
ofstream file_writer("lostfile.txt");
推荐阅读
- java - How to split string but keep delimiters in java?
- c - 结构内的释放 char**
- c# - .net core data annotation display Name - inherite to viewmodels
- scala - Spark dataframe cast column for Kudu compatibility
- pentaho-data-integration - In Pentaho Data Integration can I output conditionally?
- excel - 如何使变量从单个单元格中获取多个值并将其用作自动过滤条件
- android - Jenkins:Gradle 构建:AAPT2 问题:AAPT2 aapt2-3.4.0-5326820-windows 守护进程 #0:守护进程启动失败
- java - 用于匹配数学表达式的正则表达式
- python - 使用 Pandas 合并 csv 文件中的数据
- php - 如何使用codeigniter中的引物键从子表中获取图像