C++中system函数如何

vincentfutu 2014-05-22 09:59:17
在下现在因为要用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如何传递给这个脚本中呢。这个可不可以实现,求指教
...全文
208 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vincentfutu 2014-05-22
  • 打赏
  • 举报
回复
我已经搞定了,谢谢
vincentfutu 2014-05-22
  • 打赏
  • 举报
回复
引用 1 楼 hzhxxx 的回复:
写一个dos 的批处理文件,然后使用 system 执行这个批处理文件。
恩。谢谢回答。但是有个问题,我如何把C++程序中前面得到的文件名filename(不是就一个文件,这个项目会一直产生数据文件,文件在前面已处理,名称为不是个固定的,这个文件是a.txt,另外一个可能是4.txt。现在得到一个文件名称,就要把它上传)。我该如何把这个名称(变量)传到批处理文件中呢。
hzhxxx 2014-05-22
  • 打赏
  • 举报
回复
写一个dos 的批处理文件,然后使用 system 执行这个批处理文件。

65,209

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧