文件不被读取(ifstream)
问题描述:
嗨我有以下代码,并不明白为什么它不读取文件! 我做错了什么?虽然.txt文件是用数据编写的,并且目录是正确的。文件不被读取(ifstream)
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
vector<string> v;
ifstream in("E:\vector.txt");
string line;
while(getline(in, line))
v.push_back(line); // Add the line to the end
// Add line numbers:
cout<<"v.size()="<<v.size();
for(int i = 0; i < v.size(); i++)
cout << i << ": " << v[i] << endl;
return 0;
}
答
ifstream in("E:\vector.txt");
哎呦!这不会打开E:\vector.txt
。反斜杠在字符串文字中引入转义序列。我不知道"\v"
是什么,但它不是字符\
后跟字符v
。
您需要转义反斜杠。
ifstream in("E:\\vector.txt");
答
ifstream in("E:\vector.txt");
应该
ifstream in("E:\\vector.txt");
你可以使用它也可以作为
in.open ("E:\\vector.txt", std::ifstream::in);
+2
_“会员2年5个月”_在提交答案之前,还有一个预览窗格。 –
+0
我曾经与Facebook签约过,但从未留在现任成员。那可能是2年,5个月前:) –
或者使用[原始字符串字面量(http://en.cppreference.com/w/cpp/language/string_literal)'ifstream in(R“raw(E:\ vector.txt)raw”)'。 – Snps
谢谢你,帮助,我忘了有这样的东西:“\ v”,“\ n”,“\ t”... – MrCatalin4ic
R“raw(...)raw”是什么?你可以解释吗? – MrCatalin4ic