中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-17 04:20
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » C语言中的SYSTEM()函数能调用参数吗? 查看 1,319 回复 2
楼 主 C语言中的SYSTEM()函数能调用参数吗? 发表于 2007-10-15 15:37 ·  中国 四川 遂宁 电信
中级用户
★★
积分 278
发帖 103
注册 2006-10-21 21:08
UID 67562
性别 男
状态 离线
我想在编写一个在DOS命令行下执行的类似DOS命令的程序delh.exe,例如:当输入: delh 1.txt 时,使它能直接删除磁盘中的隐藏文件1.txt.
程序如下 :
#include<stdlib>
#include<stdio.h>
int main(int atgc,char *argv[])
{
system("attrib" argv[1] "-h -s");
system("del" argv[1]);
return 0;
}

编译后程序不能达到预想的结果,不知是如何将命令行参数传递给system函数,使它能正确执行.????
一个专搜注册信息的链接注册信息搜索--历史是一个旋转的车轮,它的轨迹总是那样的相似回复后可见
2 这样行不。 发表于 2007-11-04 00:10 ·  中国 湖南 长沙 电信
新手上路
积分 16
发帖 7
注册 2006-12-30 07:33
UID 74987
性别 女
状态 离线
我试了一下这样可以
#include<iostream.h>
#include<stdlib.h>
#include<string>
using namespace std;

#define MAXBUFLEN 100

int main(int argc,char *argv[]){

string text;
string cmdstr;

if(argc>1){
text = (string)argv[1];
cmdstr="attrib " + text;
system(cmdstr.c_str ());

}
else{
cout<<"文件名不给一个?"<<endl;
}
return 0;

}
下面是MSDN中的解释

system, _wsystem
Execute a command.

int system( const char *command );

int _wsystem( const wchar_t *command );

Routine Required Header Compatibility
system <process.h> or <stdlib.h> ANSI, Win 95, Win NT
_wsystem <process.h> or <stdlib.h> or <wchar.h> Win NT

Example

/* SYSTEM.C: This program uses
* system to TYPE its source file.
*/

#include <process.h>

void main( void )
{
system( "type system.c" );
}


Output

/* SYSTEM.C: This program uses
* system to TYPE its source file.
*/
#include <process.h>
void main( void )
{
system( "type system.c" );
}
3 发表于 2007-12-14 13:19 ·  中国 广东 腾讯云
初级用户
积分 92
发帖 47
注册 2007-12-07 13:20
UID 104967
性别 男
状态 离线
支持一下
论坛跳转: