Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103118655
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-15 20:42:53

  来源:计算机世界日报    作者:张广乐

三、使用带空格的目录名

系统是用空格来区分输入的DOS 命令所带的参数,同样使用DOS的 MD、CD、RD等命令也无法使用含有空格的目录名。但是在用CHKDSK命令对磁盘进行检查时,对含有空格的子目录名并不给出错误信息。这说明在DOS 中含有空格的目录名是有存在的合法性的。因为DOS 中的命令无法使用含空格的目录名,所以可以起到一定的加密作用。下面的程序介绍如何利用C语言来建立、进入和删除含有空格的子目录。

/* 文件名: mddir.c */
#include $#@60; dir.h $#@62;
main(int argc,char * argv[])
{ if (argc==2) 
{if(mkdir(argv[1])) perror("Error");}
else printf("Usage : MDDIR + dirname\n");
return (0);
}

在程序使用中注意要用双引号将目录名括起来,如果目录名中不含有空格可将双引号省略。例如: mddir "a test" 。以下程序使用方法相同
/* 文件名: cddir.c */
#include $#@60; dir.h $#@62;
main(int argc,char * argv[])
{ if(argc==2) 
{if(chdir(argv[1])) perror("Error");}
else printf("Usage : CDDIR + dirname\n");
return 0;
}

3、删除带空格的子目录
/* 文件名: rddir.c */
#include $#@60; dir.h $#@62;
main(int argc,char * argv[])
{ if (argc==2) 
{if(rmdir(argv[1])) perror("Error");}
else printf("Usage : RDDIR + dirname\n");
return 0;
}

以上程序均用 Turbo c 2.0 调试通过,注意以上程序的文件名不要与DOS中的有关命令相同,以免发生冲突。

阅读(217) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~