2015-04-29 79 views
0

當我用代碼塊編譯代碼時,我有一些代碼工作,所以現在我想在Qt5中使用它,我複製了它。它什麼都不做。我可以運行該應用程序,但無法從我的.txt文件中讀取數據。我包括fstream,字符串,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()或失敗()/ good()並報告回來。 –

+0

項目和Datenbank.txt在哪裏?如果你使用的是Qt Creator,那麼你應該知道Qt Creator爲二進制文件創建單獨的目錄build -.....。也許你只是指定了錯誤的路徑 –

+2

你正在使用相對路徑,可能是你的項目的輸出目錄不包含Datebank.txt文件 –

回答

0

當您編譯項目時,應該會出現一個帶有項目名稱和構建規則的文件夾,其中有「發佈」和「調試」作爲子文件夾。將txt複製到該文件夾​​中,而不是在子文件夾中。 文件夾名稱應該類同此:

myproject-build-desktop-Qt_4_7_4_for_Desktop_-_MSVC2008__Qt_SDK__Debug