LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1232|回复: 7

C语言中能不能嵌入DOS命令?

[复制链接]
发表于 2003-7-25 20:10:01 | 显示全部楼层 |阅读模式
我的想法是能不能在C语言中嵌入使用DOS命令。就象QBasic一样可以使用类似CLS这样的命令来使运行程序前先清屏。我也是想在运行C程序前清屏,C语言本身有这样的功能吗?
发表于 2003-7-25 21:44:47 | 显示全部楼层
标准C中好象没有,linux中有一个system()函数,可以执行系统命令,在DOS下有没有这个函数,你可以试验一下。
 楼主| 发表于 2003-7-26 12:11:38 | 显示全部楼层
谢谢Kj501兄,那要怎样才可以清屏呢?
发表于 2003-7-26 13:45:18 | 显示全部楼层
如果只是要清屏的话可以用conio.h中的clrscr语句,这是Turbo C中的,别的环境不知道
自由狼-台风 该用户已被删除
发表于 2003-7-26 14:30:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2003-7-26 17:34:34 | 显示全部楼层
自由狼-台风兄的方法极好!多谢(回去再试试:p)不过我找到一个程序,可以使用DOS中的命令,单独作为程序时可以使用(大家可以试一下),但我不知道怎么在其他函数中调用它,我把它存为shell.h也不知道怎么使用呀。#include <shell.h>后怎么使用DOS命令?谁能举个例子吗?:p程序代码如下:注:只在TC下测试过...

  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <dir.h>
  4. #include <process.h>
  5. void shell_1(void);
  6. void shell_2(void);
  7. void main(void)
  8. {
  9. printf("\n shell_1() function will begin");
  10. shell_1();
  11. printf("\n shell_1() function end!");
  12. printf("\n shell_2() function will begin");
  13. shell_1();
  14. printf("\n\n\n shell_2() function end,good bye * * * * *");
  15. }
  16. void shell_1(void)
  17. {
  18. char path[80];
  19. char command[80];
  20. char ch;
  21. int i;
  22. printf("\n type QuiT return...");
  23. for(;;){                        
  24. getcwd(path,80);
  25. printf("\n%s>",path);
  26. i=0;
  27. while ((ch=getchar())!='\n')
  28.     command[i++]=ch;
  29.     command[i]='\0';
  30. if(! strcmp(command,"Quit")) break;
  31. if(! strcmp(command,"quit")) break;
  32. if(strcmp(command," ")) system(command);
  33. }
  34. }
  35. void shell_2(void)
  36. {
  37. printf("\n type ExiT return...");
  38. system("");
  39. }
复制代码
自由狼-台风 该用户已被删除
发表于 2003-7-26 20:27:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2003-7-26 20:45:32 | 显示全部楼层
已经改过来了,经测试多次发现自由狼兄的两种方法均极为有用。其中conio.h换成dos.h再调用clrscr()也有用。但我想dos.h中是不是还有其他函数可以调用?如果是那太好了!谢谢大家的帮忙!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表