C++中system函数如何
在下现在因为要用C++的system函数来调用DOS命令来上传文件,而且要把一个文件名变量传给DOS,所以用了sprintf函数,现在问题来了。我要上传这个名称为filename(变量)的文件,如果是在CMD窗口,那就是先ftp回车,然后put filename.(前面已连接到服务器端)。但是如果用两条system语句system("ftp"),system("put filename").它只会执行第一个。后面一个无法执行。各位有没有解决方法,求大神帮忙
#include<iostream>
#include<stdlib.h>
#include <cstring>
using namespace std;
void main()
{
char buffer[300] = {0};
char filename[256] = {0};
strcpy(filename,"b.txt");
sprintf(buffer, "put D:\\users\\hq\\%s", filename);
//system("ftp");
system(buffer); //上传filename文件
}
这样执行的时候因为前面没有ftp所以肯定会没效果。但是如果用到ftp.后面一条语句不会执行。可不可以用一条system语句将这个上传功能搞定呢。有人说可以用脚本文件,然后用system执行这个脚本,但是我前面的程序中得到的文件名filename如何传递给这个脚本中呢。这个可不可以实现,求指教