2015-08-18 2 views
0

Я делаю вид бота, и мне нужно получить некоторые значения из документа. Документ будет написан с помощью «Первой установки времени». Ну, проблема в том, что программа не читает значения.ifstream не работает в моем коде

ifstream inFile; 
inFile.open("D:\Bot\bin\Debug\Settings.in"); 

inFile >> i >> i2; 
cout<<"Retrieving data..."<<endl; 
cout<<" "<<endl; 
Sleep(10000); 
cout<<"SO: "<<i<<endl; 
cout<<"BO: "<<i2<<endl; 
Sleep(2000); 

inFile.close(); 

Я использовал местоположение, где находится .exe. Я не могу понять, почему он не получает ценности. Я получаю 0 для обеих переменных. Я попытался с .txt-файлом. То же самое.

+2

Вы должны проверить, если файл [ 'is_open()'] (http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open) – NathanOliver

+2

1. Возможно, вы имели в виду файл 'ini'. 2. Возможно, вам нужно избегать косой черты или использовать литерал с необработанной строкой. 3. Почему вы не проверяете, открыт ли файл? –

ответ

7

\ побег знак. Для того, чтобы иметь его в строке должно быть:

inFile.open("D:\\Bot\\bin\\Debug\\Settings.in"); 
+3

Или используйте строковый литерал (C++ 11) - 'R" (D: \ Bot \ bin \ Debug \ Settings.in) ". –

+0

Это сработало. Огромное спасибо. –

+0

@SerbanElyan Кажется, вы новичок здесь, 'accept button' под каждым ответом отмечает, что это помогло решить вашу проблему. Используй это. –