我有一個關於這個代碼在https://curl.haxx.se/libcurl/c/ftpget.html的libcurl下載文件的大小超過緩衝區大小
在回調函數
static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
{
struct FtpFile *out=(struct FtpFile *)stream;
if(out && !out->stream) {
/* open file for writing */
out->stream=fopen(out->filename, "wb");
if(!out->stream)
return -1; /* failure, can't open file to write */
}
return fwrite(buffer, size, nmemb, out->stream);
}
如果文件大小超過什麼緩衝區大小問題?我認爲這個函數不會迭代調用,因爲它每次都會覆蓋文件。有沒有解決它的方法?謝謝!
我不明白的問題。什麼覆蓋什麼文件? – melpomene
@melpomene從下面的評論中複製:我的問題是,回調函數的單個調用不能完成加載整個文件,curl是否繼續運行(多次調用回調函數)來完成文件下載?對不起,如果問一個非常愚蠢的問題。我不完全理解整個捲曲過程。謝謝! – user3113633
我從來沒有用過,但捲曲我敢肯定它會反覆調用回調函數。 – melpomene