如何将.txt文件复制到项目目录中? Visual Studio

时间:2018-03-16 00:54:26

标签: visual-studio fstream ifstream

我的桌面上有一个名为random.txt的文件,但由于某种原因,VS不会打开它,我认为它与目录有关但是idk。这段代码有问题吗?如何让它读取文件?

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
ifstream infile;
int num, count = 1, total = 0, avg;

infile.open("Random.txt");
if (infile)
    while (infile >> num)
    {
        cout << num << endl;

    }
else
    cout << "The file did not open" << endl;

infile.close();
return 0;
}

1 个答案:

答案 0 :(得分:0)

@Ken White所说的是完全正确的。只是为了澄清 - 您有三种可能的解决方案:

1 - 更改文件路径

infile.open("C:\User\walshline\Desktop\Random.txt");

更改与桌面位置匹配的路径。这有一个巨大的缺点,你不能将你的软件部署到另一台计算机,因为路径会有所不同。

2 - 询问用户文件路径

启动时,您可以向用户询问正确的文件路径。

std::string path;
std::cout << "Please select your file path: " << std::endl;
std::cin >> path;

这是用户最灵活但也最烦人的解决方案。想象一下拥有数百个相关文件的庞大程序。你真的不想让用户插入每个位置。但如果您的文件经常更改,这是一个完美的解决方案。

3 - 将文件移至可执行位置

当您构建程序(编译)时,VS会将可执行文件和所有文件放在项目结构的输出目录中(这也取决于您的&#34;运行配置&#34;)。

对我来说,路径(默认VS和项目设置)如下所示。

  

C:\ Users \ XXX \ Documents \ Visual Studio   2017 \项目\ Project_Folder \项目\ BIN \调试

您可以将Random.txt复制到此目录或项目结构中,并设置标记copy always(然后将其复制到输出目录中)。

HTH