我一直在尝试在Visual Studio 2015中创建一个控制台应用程序,它将文本文件读取为字符串,然后输出字符串,但我遇到了一些问题。
我尝试的第一件事就是关注cplusplus.com教程:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line;
ifstream myfile("test.txt");
if (myfile.is_open())
{
while (getline(myfile, line))
{
cout << line << '\n';
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
程序没有打开文件。
尽管有多次互联网搜索并尝试了20多种不同的方法,但我仍然无法使我的程序正常运行。我能够达到的最好结果是一排毫无意义的0。
我哪里错了?
答案 0 :(得分:0)
您所做的错误不会发出有用的错误消息。而不是打印&#34;无法打开文件&#34;,让计算机告诉你为什么它不能打开文件。例如:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main( int argc, char **argv)
{
string line;
const char * path = argc > 1 ? argv[1] : "test.txt";
ifstream myfile(path);
if (myfile.is_open()) {
myfile.close();
} else {
perror(path);
}
return 0;
}