奥运倒计时: 设为首页 加入收藏
点击进入太平洋安全网首页
论坛登陆 用户名: 密码:
首页 新闻资讯 文章中心 黑客资源 黑客点睛 安全防护 软件下载 动画教程 会员咨询 技术问答 论坛社区
文章 下载 图片
资源  
 您现在的位置: 太平洋安全网 >> 资源 >> 程序设计 >> C语言 >> 正文

C语言程序设计技巧

作者:放弃    资源来源:网上采集    点击数:    更新时间:2008-3-30
在许多应用软件运行时都带有命令行参数,其实这些命令行参数在C语言编写的程序中也可以实现,灵活地运用命令行参数进行处理可以有效地提高程序的运行效率,收到事半功倍的效果。

  C语言中有关命令行参数涉及到程序的主函数main(int argc,char *argv[]这样两个参数,其中,int argc表示命令行参数的个数(包括可执行程序名本身),char *argv[]表示每个参数的具体内容,argv[0]为命令行中可执行程序名本身,argv[1]为命令行中第二个参数的内容,依次类推。如下例输出命令行参数的个数及参数的内容:

main (int argc,char *argv[],
{int I;
 printf("\n命令行中可执行文件名为:%s",argv[0]);
 printf("\n总共有%d个参数:",argc);
 I=0;
 while(argc>=1)
 {printf(″%s  ",argv[I++]);
  argc--;}
}

  命令行参数用的最多还是在诸如DIR A:等之类带有盘符、路径或文件名这样的命令行中,所以说灵活处理这一类参数才能有效地提高程序的运行效果。譬如DIR命令,其后可以是盘符,可以是路径,也可以是文件名,如何区分这一参数呢?请看下例(此程序模拟DIR命令,程序要求在命令行输入一个参数:盘符或路径或文件名,若无参数或参数多于一个都将取默认的参数“*.*”)。

\*--------------------
功能:模拟DIR命令进行处理命令行参数
--------------------*/
#include
#include
#include
#inchlude
int j,num=0;
char ss[20],path[50],path2[50];
void main (int argc,char *argv[])
{
 struct ffblk f;
 int done;
 if(argc==2)  /*取命令行参数到数组中*/
  strcpy(ss,argv[1]);
 else
  strcpy(ss,″*.*″); /*给数组赋值缺省参数*/
  if (((ss[strlen(ss)-1]==′\\′||((ss[strlen(ss)-1]==':'))
   strcat(ss,″*.*″); /*若参数为路径或盘符,则加上″*.*″ */
  getcwd(path1,50); /*取当前路径*/
  if (chdir(ss)==0) /*判断参数是否为路径*/
    strcat(ss,"\\*.*"); /*若路径末没有带"\",则加上"*.*" */

 chdir(path1); /*恢复原来路径*/
 strcpy(path2,ss);
 for(j=strlen(path2);j>0;j--)/*提取参数中的路径到path2 */
  {if((path2[j]=='\\'))||(path2[j]==':')){
   path2[j+1]='\0';
   goto senull;}
  }
 path2[0]='\0';
 senull:
 if(strlen(path2)==0)  /* 若给出的参数中没带路径,则取当前路径*/
  strcpy(path2,path1);
 printf("\n**模拟DIR**\n 命令目录路径%s",path2);
 done=findfirst(ss,&f,55); /*查找第一个配匹的文件*/
 j=1;
 while(!done)
 {if (f.ff_attrib!=0x10) /* 若文件属性不是目录 */
   printf("\n %15s %20ld",f.ff_name,f.ff_fsize);
  else
   printf("\n &11s ",f.ff_name);
  num++;
  j++;
  if(j==23)
   printf("\n --------More (按任意键继续)----");
  getch();
  j=0;
  printf(″\n (目录路径%s)″,path2);}
  done=findnext(&f); /*查找下一个配匹的文件*/
 }
printf(″\n 当前目录中总共有%d个文件.\n″,num);

资源录入:放弃    责任编辑:放弃 
  • 上一资源资源:

  • 下一资源资源:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
       推荐文章
    推荐资源Windows 2000 设置Internet连接属性
    推荐资源Windows 2000 建立Internet连接
    推荐资源Windows 2000 浏览器窗口简介
    推荐资源Windows 2000 浏览器功能的增强
    推荐资源Windows 2000 快速使用共享资源
    推荐资源Windows 2000 软件资源共享
    推荐资源Windows 2000 硬件资源共享
    推荐资源Windows 2000 WINS服务器配置
       热门文章
    推荐资源Windows 2000 设置Internet连接属性
    推荐资源Windows 2000 建立Internet连接
    推荐资源Windows 2000 浏览器窗口简介
    推荐资源Windows 2000 浏览器功能的增强
    推荐资源Windows 2000 快速使用共享资源
    推荐资源Windows 2000 软件资源共享
    推荐资源Windows 2000 硬件资源共享
    推荐资源Windows 2000 WINS服务器配置
        本站推荐

    关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 站长信箱 | 友情链接 | 网站地图
    24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
    客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
    Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
      许可证号:豫ICP备07005385号