我正在尝试创建一个将连接的程序(将两个整数列表一起添加) 每个列表都存储为文本文件。我希望C ++程序打开list1.txt和list2.txt
我实际上无法让它工作。我已经分别列出了两个整数名列表list1和list2但是我得到的输出找不到list1。
#include <iostream>
#include <fstream>
#include <ostream>
using namespace std;
int main()
{
ifstream findlist1("list1.txt", ios::in | ios::binary);
if(!findlist1)
{
cout << "Cannot find list 1.\n";
return 1;
}
ifstream findlist2("list2.txt", ios::in | ios::binary);
if(!findlist2)
{
cout << "Cannot find list 2.\n";
return 1;
}
ofstream out("list3out.txt", ios::out | ios::binary);
if(!out)
{
cout << "Unable to output file ";
return 1;
}
out << in1.rdbuf();
out << " " << flush;
out << in2.rdbuf();
return 0;
}
编辑=解决方案:
我的文件名为test1.txt,因此作为test1.txt.txt出现在程序中
答案 0 :(得分:2)
代码看起来很好,您可以尝试使用绝对路径或将文件放在可执行文件的同一目录中
答案 1 :(得分:0)
如果您使用的是Visual Studio,则所有相对路径都相对于项目的working directory。默认似乎是项目目录 - 这意味着如果在C:\SolutionX\ProjectY\Build\ProjectY.exe
中尝试打开路径“file.txt”,Windows将查找C:\SolutionX\ProjectY\file.txt
。如果您想更改此目录,该设置将在项目的调试下的配置属性中显示为“工作目录”。
请注意,如果您手动双击可执行文件而不是通过Visual Studio运行它,则其工作目录将是其当前位置。如果您从命令行运行程序,则工作目录将是命令行中的工作目录。