c++ - 使用 libssh2 将字符串写入远程文件

标签 c++ string ssh scp libssh2

我正在尝试使用 libssh2 将字符串写入文件。我能做到。

问题是我只能对文件写入一次,我不能附加到文件,并且将参数提供给 libssh2_scp_send 我给出大小,如果大小更大则字符串的实际大小(例如,我给了 50,但字符串有 5 个字符)已创建但有 0 个字节。

我使用的功能:

int s7c_hardware::writeKey(char * filename, char * str)
{
    channel = libssh2_scp_send(session, filename, 0777, strlen(str));
    char buf[99999];
    memcpy(buf, str, strlen(str));
    buf[strlen(str)] = '\0';
    libssh2_channel_write(channel, buf, strlen(str));
    libssh2_channel_free(channel);
    channel = NULL;
    return 0;
}

最佳答案

现在我明白为什么了! SCP 无法附加到文件,因为这实际上是开始和停止下载,而 SCP 无法做到这一点,但 SFTP 可以!

关于c++ - 使用 libssh2 将字符串写入远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44959804/

相关文章:

c++ - 如何在 winapi 标准对话框中处理键盘事件?

c++ - 基于类型映射的运行时类型选择

c++ - 为什么 signed char 的 256 在 C++ 中未定义

Python 我无法替换我的字符串值

mysql - MySQL通配符字符串选择

javascript:返回两个字符串之间的字符串相似度分数

search - 用于搜索文件内部的 ssh 命令

c++ - 初始化 QList<MyStruct> 作为静态类成员给出 LNK2001 错误

shell - 自动输入shell密码的方法?

c++ - 有什么方法可以通过 SSH 连接打开和读取文件吗?