[英]Cannot open text file using ifstream
ifstream fin;
fin.open("C:\\Users\\Zach\\Desktop\\input.txt");
if (!fin)
{
cout << "e";
}
e 正在打印我是使用完整路径还是仅使用资源文件中的 input.txt
如果文件存在,请确保正确指定了路径。 由于您在 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;
}
这将允许您验证输入文件的路径是否正确,假设它与您的可执行文件并置。
您需要使用fin << "string";
将输出定向到ifstream
对象中fin << "string";
而不是通过cout
定向到标准输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.