2013-07-07 42 views
0

讓我更詳細地解釋一下。我正在嘗試編寫一個程序,用於從遠程FTP服務器下載文件,在其末尾附加一行,然後重新上傳。文件操作起作用,文本被附加到文件並重新上傳,但是當我再次下載文件時,沒有文本被追加。我寫了一個小測試程序來演示這個;這裏是在引擎收錄代碼:對使用​​libcurl下載的文件所做的更改不會生效

http://pastebin.com/r07TkxEK

程序打印同時在初始運行和後續運行::

Remote URL: ftp://orangesquirrels.com 
Got data. 
Local data file size: 678 bytes. 
Current position in file: 678 
Uploading database file back to server... 
Local data file size: 690 bytes. 
Remote URL is ftp://orangesquirrels.com ! 
*** We read 690 bytes from file. 

如果該程序運行,從隨後的運行輸出以下輸出應該

Remote URL: ftp://orangesquirrels.com 
Got data. 
Local data file size: 690 bytes. 
Current position in file: 690 
Uploading database file back to server... 
Local data file size: 702 bytes. 
Remote URL is ftp://orangesquirrels.com ! 
*** We read 702 bytes from file. 

由於數據被寫入到該文件,並重新-U ploaded(我知道這是因爲上傳的文件的尺寸比下載的文件大)我假設上傳工作;我懷疑問題在於下載過程和/或功能。我一直在盡一切可能的方法去發現爲什麼會發生這種情況,但這無濟於事。如果有人知道什麼關於爲什麼這不起作用,我很想知道。我正在付錢寫這個程序,我知道我必須儘快找到解決方案...

+0

你確定這個問題是不是有些緩存服務器? –

+0

是的,如果我改變這個程序寫一個不同的字符串,然後下載上傳的文件,該文件包含新的字符串。這是彼此在幾秒鐘內,所以我認爲沒有緩存。 – SevenBits

回答

0

您在下載()函數中沒有使用「short_database」和「file_to_write」。所以你從ftp-server而不是musiclist.txt下載/tmp/musiclist.txt。

你應該檢查你的定義,而當你使用一個定義,當您使用stringvariable,當你使用參數

#define DATABASE_FILE "/tmp/musiclist.txt" 
#define REMOTE_DATABASE_FILE "musiclist.txt" 

int main() { 
    remove(DATABASE_FILE); 
    download(DATABASE_FILE, "musiclist.txt", REMOTE_URL, "Testing 123"); 
    //       ^^^ should't this be REMOTE_DATABASE_FILE? 
    ... 
} 

void download(const char* file_to_write, const char* short_database, const char* addr, const char* msg) { 
    remove(DATABASE_FILE); // again?!? 

    struct FtpFile ftpfile={ 
     DATABASE_FILE, /* name to store the file as if succesful */ 
// ^^^ which one? file_to_write or short_database 
     NULL 
    }; 
+0

我寫的代碼下載文件。是的,我有一些未使用的參數,但是我很快從項目中展示了這個bug。這意味着一個測試用例,而不是一個完整的程序,所以我沒有看到你的評論如何幫助我解決問題。 – SevenBits

+0

file_to_write是DATABASE_FILE,而short_database是REMOTE_DATABASE_FILE。 – SevenBits

+0

下載不會加載你放在服務器上的文件(/tmp/musiclist.txt)(/musiclist.txt(已添加路徑)) –

相關問題