我想使用 c 中的系统函数来使用 ftp 命令。我需要执行 3 个命令。
1 FTP
2 用户名
3 密码
我如何使用 system() 执行上述 3.... 我被困在这里
system(ftp);
您可能想检查您的版本是否ftp
允许您在命令行上指定用户名和密码(有些可以)。当然,您也可以自己实现 ftp(直接使用套接字)或通过库(周围有几个)。
否则,如果你真的想运行系统的ftp
命令,你可能想使用popen
(或者,在 Windows 上,_popen
)来代替。
FILE *cmd = popen("cmd", "w");
if (NULL != cmd)
fprintf(cmd, "%s\n%s", user_name, password);
您写入的FILE *
内容进入子进程的标准输入(如果您使用"r"
而不是打开"w"
,您可以从子进程的标准输出中读取)。许多(但不是全部)最新版本popen
也支持"rw"
,因此您可以写入孩子的标准输入并从其标准输出中读取。
但是请注意,这仅适用于从其标准输入读取的子进程。有些人使用其他方法直接从控制台/键盘读取,它不会(必然)与那些一起工作。
我建议您使用其他一些 API 而不是 system()。System() 被认为是提供命令的非标准方式。我建议只使用 FTP 命令打开该终端,然后使用 ftp apis overs winsock api's。
这些是我知道的几个图书馆。请使用如果,
libftp
ftplib
为此,可以在网络上找到足够的文档。如果这回答了您的问题,请告诉我。