ifstream fin;
fin.open("C:\\Users\\Zach\\Desktop\\input.txt");
if (!fin)
{
cout << "e";
}
是打印我是使用完整路径还是仅使用资源文件中的input.txt
答案 0 :(得分:0)
如果文件存在,请确保您已正确指定路径。由于您在Windows上运行,因此可以使用以下代码验证可执行文件的完整路径。
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#define BUFSIZE 4096
std::string getExePath()
{
char result[BUFSIZE];
return std::string(result, GetModuleFileName(NULL, result, BUFSIZE));
}
int main()
{
std::ifstream infile("input.txt");
if (infile.is_open())
{
std::cout << "Success!" << std::endl;
infile.close();
}
else
{
std::cout << "Failed to open input.txt!" << std::endl;
std::cout << "Executable path is ->" << getExePath() << "<-" << std::endl;
}
return 0;
}
这将允许您验证输入文件的路径是否正确,假设它与您的可执行文件并置。
答案 1 :(得分:-1)
您需要使用ifstream
将输出定向到fin << "string";
对象,而不是通过cout
指向标准输出。