2013-09-27 41 views
0

(使用Qt 4.7)我有一個函數,需要用戶輸入一個目錄名稱,然後在FTP服務器上通過該名稱在目錄中循環訪問文件。 FTP地址是恆定的,所以我有它的硬編碼到目前爲止,我有這樣的:在FTP服務器上使用Qt的QDirIterator

QString dir_name = /*whatever the user inputs*/; 
QString source = "ftp://username:[email protected]/" + dir_name + "/"; 
QDirIterator it(source, QDirIterator::NoIteratorFlags); 

while(it.hasNext()) 
{ 
    //do things with each individual file... 
} 

然而,當我運行這個它永遠不會進入循環。我輸入打印語句來幫助調試,並且一直說,it所指的目錄是空的,即使它不是。我嘗試將source的結果複製並粘貼到瀏覽器中,這是正確的。我之前使用過FTP服務器和QDirIterator,但從未一起使用過,有沒有什麼特別的事情需要我去做,以使它起作用?

+0

QDir僅適用於本地文件/ OS由操作系統透明映射到文件系統的任何內容。 –

+0

在這種情況下是否有其他方法可以做到這一點?我一直在試圖弄清楚一段時間,並有點醒目 – thnkwthprtls

+0

我也嘗試使用QFtp來訪問它,但它仍然回來空 – thnkwthprtls

回答

1

我以前都使用過FTP服務器和QDirIterator,但從來沒有在一起,有什麼特別的我需要做些什麼才能使它工作?

沒什麼特別的,它不會工作,因爲QDirIterator與本地文件一起工作。它不支持網絡驅動程序。你需要自己處理迭代。

對於成爲更糟糕的消息,我感到抱歉。