2016-05-16 2 views
-1

настоящее время я использую Visual Studio 2015.Чтение файла терпят неудачу в C++

#include "stdafx.h" 
#include "fstream" 
#include "iostream" 
using namespace std; 

int main() { 
    ifstream infile; 
    infile.open("hello.txt"); 

    if (infile.fail()) { 
     cerr << "error to open"; 
     exit(1); 
    } 

    int x, y; 
    infile >> x >> y; 
    cout << x << y << endl; 

    return 0; 
} 
  1. Я включаю файл hello.txt в папке ресурсов.

Еще не прочитал его из файла.

Я не уверен, что это проблема настройки для визуальной студии или чего-то еще.

+0

сделал вы запускаете программу автономно или при подключенном отладчике? (выполняется в Visual Studio) –

+0

Что значит «все еще не читает его из файла»?? – Carcigenicate

+0

Добавьте временный код, который открывает файл для записи. Посмотрите, где будет создан файл, а затем введите ваш входной файл в тот же каталог. –

ответ

0

файл, который вы хотите открыть не в текущем каталоге (потому что «hello.txt» относительный путь), попробуйте этот код:

#include "stdafx.h" 
#include <string> 
#include <fstream> 
#include <iostream> 

#include <windows.h> 

using namespace std; 

std::string MakeAbsolutePath(const std::string& file) { 
    static const DWORD buff_size = 512; 
    char buff[buff_size] = { 0 }; 
    // TODO: error handling,see GetCurrentDirectory Function 
    DWORD has_writen = ::GetCurrentDirectoryA(buff_size, buff); 

    return std::string(buff) +"\\"+ file; 
} 

int main() 
{ 
    ifstream infile; 

    std::string file_path = MakeAbsolutePath("hello.txt"); 
    cout << "going to open file :"<< file_path << endl; 
    infile.open(file_path); 

    if (infile.fail()) { 
     cerr << "error to open"; 
     exit(1); 
    } 

    int x, y; 
    infile >> x >> y; 
    cout << x << y << endl; 


    return 0; 
} 

запустить его, и проверьте вывод на консоль

Смежные вопросы