【发布时间】:2019-02-27 20:13:18
【问题描述】:
我从this 编写了以下代码。
#define MAX_XFER_BUF_SIZE 16384
int main()
{
char buffer[MAX_XFER_BUF_SIZE];
//..some content
access_type = O_RDONLY;
sftp_file file = sftp_open(sftp, "/home/ra/Desktop/sami/s.txt", access_type, 0);
ofstream fin("C:/Users/s.txt", ios::binary | ios::in | std::ofstream::out | std::ofstream::app);
nbytes = sftp_read(file, buffer, sizeof(buffer));
fin.write(buffer, sizeof(buffer));
但是缓冲区的最大大小是预定义的。所以它只适用于小文件。我想获得更大的 SFTP 文件大小。为此,我需要通过附加模式将数据作为块发送。
for (int i=0;i<sizeof(buffer);i++)
{
fin.write(buffer, buffer[i]);
}
我通过this answer,但我被困在这个> 我该如何解决这个问题。
【问题讨论】: