2015-04-29 3 views
0

У меня есть код, который работает, когда я скомпилирую его с помощью Code Blocks, , поэтому теперь, когда я хочу использовать его в Qt5, я скопировал его. И он ничего не делает. Я могу запустить приложение, но я не могу читать данные из моего .txt. Я включил fstream, string, iostream и QCoreApplication.fstream не работает в Qt

fstream data; 
data.open("Datenbank.txt",ios::in); 

//Variables for Database 
string DbName,ServerName,UserName,Password,Rolename,Charset,Parameters; 
string NewForeName ="Alex"; 
// reading txt Data 
data>>DbName; 
data>>ServerName; 
data>>UserName; 
data>>Password; 
data>>Rolename; 
data>>Charset; 
data>>Parameters; 
cout<<"test"<<endl; 

data.close(); 
cout<<DbName<<endl; 
cout<<ServerName<<endl; 
cout<<UserName<<endl; 
cout<<Password<<endl; 
cout<<"test2"<<endl; 

Что я делаю неправильно?

+0

Вы пробовали отлаживать? Кроме того, вы, похоже, не проверяете, был ли файл успешно открыт. Я совершенно уверен, что у вас просто нет файла в нужном месте, и он просто не может открыть файл из-за этого. Добавьте проверку сбоев функции data.open(), используйте is_open() или fail()/good() и отчитайтесь. –

+0

Где находится проект и Datenbank.txt? Если вы используете Qt Creator, вы должны знать, что Qt Creator создает отдельную сборку -..... для двоичных файлов. Может быть, вы просто указали неправильный путь –

+2

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

ответ

0

При компиляции проекта должна появиться папка с именем проекта и правилами сборки, в которой в качестве подпапок есть «Release» и «Debug». Скопируйте txt в эту папку, а не в подпапки. Имя папки должно выглядеть следующим образом:

myproject-build-desktop-Qt_4_7_4_for_Desktop_-_MSVC2008__Qt_SDK__Debug