Создатель QT и ifstream filenam.c_str ()

Я создал консольное приложение C ++ с QT Creator 4.1.0
Это приложение изначально было создано с использованием блоков кода и работает отлично.

это код

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
string nomeFile="";

cout << "\nNome file: ";
cin >> nomeFile;                                // inserire nome file  ROF.txt da leggere

//ifstream leggiROF(nomeFile.c_str());              // apre in lettura il file ROF.txt
ifstream leggiROF("C:\\Users\\Massimo Di Natale\\Documents\\Programmi C++ 11\\Programmi_QT\\prova\\a.txt");

string riga="";
if(leggiROF)                                        // se lo trova
{
while(!leggiROF.eof())                          // finché non raggiunge la fine del file
{
getline(leggiROF, riga);                    // legge la riga
cout << "Riga: " << riga << endl;
} // end while
} // end if

else                                                // altrimenti
{
cout << "\nIl nome file inserito non e' stato trovato!!!" << endl;
cout << "Controllare che sia stato inserito nella cartella corretta.\n" << endl;

exit (EXIT_SUCCESS);                            // termina il programma
} // end elseleggiROF.close();
return 0;
}

Если я указываю имя файла с его путем на ifstream, он работает.
Если я хочу вставить имя файла с помощью cin, а затем использовать ifstream filenam.c_str (), он не найдет файл.
Я хочу прочитать. TXT-файл из каталога, где проект или. EXE

0

Решение

Пытаться getline(cin,nomeFile); вместо cin >> nomeFile, Ответы на «std :: cin.getline () против std :: cin» Вопрос описывает разницу между ними.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]