Linux C程序设计语言基础——常用的LinuxC函数介绍

10 篇文章 0 订阅
6 篇文章 0 订阅

  1. 终端控制与环境变量设置函数:
    (1)getopt( )分析命令行参数

          需要头文件:#include<unistd.h>

          函数原型:int getopt (int argc,char * const argv[ ],const char * optstring);

          函数返回值:如果找到符合的参数,则返回此参数字母,如果参数不包含在参数opt-string的选项字母,则返回“?”字符,分析结束则返回-1。

          函数说明:getopt(),用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数optstring则代表预处理的选项字符串。此函数会返回在argv中的下一个选项字母,此字母会对应参数optstring中的字母。如果选项字符串里的字母后接着“:”,则表示还有相关的参数,全域变量optarg即指向此额外参数。如果getopt()找不到符合的参数,则打印出信息,并将全域变量optopt设为“?”字符,如果不希望getopt()打印出错信息,则只要将全局变量opter设为0即可。例如:

#include "stdafx.h"
#include "unistd.h"


int _tmain(int argc, _TCHAR* argv[])
{
	  int ch;
      opterr=0;
  
      while((ch=getopt(argc,argv,"a:bcde"))!=-1) 
       switch(ch)
       {
	       case'a':printf("option a:%s\n",optarg);
		   break;
		   case'b':printf("option b:b\n");
		   break;
		   default:printf("other option:%c\n",ch);
       }
	  printf("optopt+%c\n",optopt);
	  getchar();
	return 0;
}

(2)ttyname()返回-终端机名称:

    需要头文件:#include<unistd.h>

    函数原型:char * ttyname(int desc);

    函数返回值:如果成功则返回指向终端机名称的字符串指针,有错误情况发生时,则返回null。如果参数desc所代表的文件描述词为一终端机,则会将此终端机名称由一字符串指针返回,否则返回null。


2.日期时间函数

    (1)time()取得目前的时间

        函数原型:time_t time(time_t*t);

        函数返回值:成功则返回秒数,失败则返回(-1)值。

       函数说明:此函数会返回公元1970年1月1日的utc时间从0时0分0秒起到现在所经过的秒数。如果t为空指针的话,此函数也会将返回值存到t指针所指的内存。

    (2)ctime将时间和日期以字符串格式表示

        函数原型:char * ctime(const time_t * timep);

       函数说明:ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形式返回。

       函数返回值:返回一个字符串表示当地的时间和日期。这个字符串的长度是固定的,为26。

#include "stdafx.h"

#include "time.h"

int _tmain(int argc, _TCHAR* argv[])
{
	 
	time_t timep;
	time(&timep);
	printf("%s",ctime(&timep));
	 getchar();
	return 0;
}

(3)gmtime取得目前的时间和日期

  函数原型:struct tm * gmtime(const time_t * timp);

  函数说明:gtime()将参数timep所指的timep_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。

  函数返回值:返回结构tm代表目前的utc时间。

#include "stdafx.h"

#include "time.h"

int _tmain(int argc, _TCHAR* argv[])
{
	 
	char * wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
	time_t timp;
	struct tm*p;
	time(&timp);
	printf("%d%d%d",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
	printf("%s%d;%d;%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);
	 getchar();
	return 0;
}

3.字符串处理函数:

  (1)index()查找字符串中第一个出现的指定字符

     函数原型:char * index (const char * s,int c);

     函数说明:index()用来找出参数s字符串的第一个出现的参数c地址,然后将该字符出现的地址返回。字符串结束字符(null)也视为字符串的一部分。

     函数返回值:如果找到指定的字符,则返回字符所在的地址,否则返回0。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值