C++ 如何使用system()在c中执行2个成功的系统命令,例如连接到ftp并使用程序登录?

C++ 如何使用system()在c中执行2个成功的系统命令,例如连接到ftp并使用程序登录?,c++,c,ftp,command,system,C++,C,Ftp,Command,System,我想在c中使用ftp命令使用系统函数。我需要执行3个命令 1 FTP 2用户名 3密码 如何使用system()执行上述3项操作。。。。我被困在这里系统(ftp) 您可能需要检查您的ftp版本是否允许您在命令行上指定用户名和密码(有些允许)。当然,您也可以自己实现ftp(直接使用套接字),也可以通过库实现ftp(有很多种) 否则,如果确实要运行系统的ftp命令,则可能需要使用popen(或者在Windows上使用\u popen) 写入文件*的内容将进入子进程的标准输入(如果使用“r”而不是“w

我想在c中使用ftp命令使用系统函数。我需要执行3个命令

1 FTP
2用户名
3密码


如何使用system()执行上述3项操作。。。。我被困在这里
系统(ftp)

您可能需要检查您的
ftp
版本是否允许您在命令行上指定用户名和密码(有些允许)。当然,您也可以自己实现ftp(直接使用套接字),也可以通过库实现ftp(有很多种)

否则,如果确实要运行系统的
ftp
命令,则可能需要使用
popen
(或者在Windows上使用
\u popen

写入
文件*
的内容将进入子进程的标准输入(如果使用
“r”
而不是
“w”
打开,则可以读取子进程的标准输出)。许多(但不是所有)最新版本的
popen
也支持
“rw”
,因此您可以写入孩子的标准输入并从其标准输出读取


但是,请注意,这只适用于从其标准输入读取的子进程。有些使用其他方法直接从控制台/键盘读取数据,但这些方法(不一定)不起作用。

您可能需要检查您的
ftp
版本是否允许您在命令行上指定用户名和密码(有些允许)。当然,您也可以自己实现ftp(直接使用套接字),也可以通过库实现ftp(有很多种)

否则,如果确实要运行系统的
ftp
命令,则可能需要使用
popen
(或者在Windows上使用
\u popen

写入
文件*
的内容将进入子进程的标准输入(如果使用
“r”
而不是
“w”
打开,则可以读取子进程的标准输出)。许多(但不是所有)最新版本的
popen
也支持
“rw”
,因此您可以写入孩子的标准输入并从其标准输出读取


但是,请注意,这只适用于从其标准输入读取的子进程。有些人使用其他方法直接从控制台/键盘读取数据,但这些方法(不一定)不起作用。

我建议您使用其他API而不是system()。System()被认为是提供命令的非标准方式。 我建议只使用FTP命令打开该终端,然后在winsock api上使用FTP api

这是我所知道的几个图书馆。请使用if

libftp 
ftplib 
在网上可以找到足够的文档。
如果这回答了您的问题,请告诉我。

我建议您使用其他API而不是system()。System()被认为是提供命令的非标准方式。 我建议只使用FTP命令打开该终端,然后在winsock api上使用FTP api

这是我所知道的几个图书馆。请使用if

libftp 
ftplib 
在网上可以找到足够的文档。
如果这回答了您的问题,请告诉我。

您不能轻松使用
系统来完成此操作。您尝试过什么?这里的人将帮助您解决问题,但不会为您编写代码。用户名和密码不是单独的命令,而是ftp工具的输入。虽然可以运行ftp客户端并从C向其发送命令,但一个更简单的解决方案是从程序连接到服务器,可以直接使用套接字,也可以使用库来实现。您不能轻松地使用
system
来做到这一点。您尝试了什么?这里的人将帮助您解决问题,但不会为您编写代码。用户名和密码不是单独的命令,而是ftp工具的输入。虽然可以运行ftp客户端并从C向其发送命令,但更简单的解决方案是从程序连接到服务器,可以直接使用套接字,也可以使用库来完成。此外,必须使用
pclose()
关闭流。对于直接从控制台/键盘读取的应用程序,可以使用
forkpty()
exec*()
。此外,必须使用
pclose()
关闭流。对于直接从控制台/键盘读取的应用程序,可以使用
forkpty()
exec*()