fstream,VS Express 2015 C ++中的ifstream和ofstream对我来说根本不起作用。我试图在MingGW中打开一个文件当然有效,但在VS Studio中它不想打开给定位置的文件。我还将文件“Artikel.txt”放在项目根目录中,但它没有什么区别。 尝试用errno来检测错误,失败了。我也无法在输出中收到错误消息。
void App1::MainPage::initArtikel()
{
ifstream file;
file.open(L"C:\\Users\\...\\Documents\\Visual Studio 2015\\Projects\\App1\\Artikel.txt");
string zeile;
Artikel neuerArtikel;
if (file.is_open())
{
OutputDebugStringW(L"Artikel.csv wird geöffnet...");
while (getline(file, zeile))
{
size_t pos = 0;
string token;
//Erste Spalte "Name"
pos = zeile.find(CSV_DELIM);
token = zeile.substr(0, pos);
neuerArtikel.Name = stops(token);
zeile.erase(0, pos + 1);
//Zweite Spalte "Preis"
pos = zeile.find(CSV_DELIM);
token = zeile.substr(0, pos);
neuerArtikel.Preis = stod(token);
zeile.erase(0, pos + 1);
sortiment.push_back(neuerArtikel);
}
//file.close();
}
else
{
OutputDebugStringA(strerror(errno));
}
}
答案 0 :(得分:0)
就我而言OutputDebugStringA(strerror(errno));
提供:
'权限被拒绝'
如果我使用file.open(Artikel.csv");
,则会收到以下错误:
'没有这样的文件或目录'
实际上将文件“Artikel.csv”放在了位置:
C:\ Users \ ... \ Documents \ Visual Studio 2015 \ Projects \ App1 \ Debug \ App1 \ AppX
给了我输出:
'Artikel.csvwirdöffnet'