linux下常用函数(1),getenv strcmp sscanf memcmp inet_ntoa

1,getenv(const char * name)搜索name所指向的环境变量字符串,并返回相关的值给字符串

#include <stdio.h>
#include <stdlib.h>

int main ()
{
   printf("PATH : %s\n", getenv("PATH"));
   printf("HOME : %s\n", getenv("HOME"));
   printf("ROOT : %s\n", getenv("ROOT"));

   return(0);
}

2,strcmp(const char *str1,const char *str2)把str1所指向的字符串和str2所指向的字符串进行比较

#include <stdio.h>
#include <string.h>

int main ()
{
   char str1[15];
   char str2[15];

   strcpy(str1, "abcdef");
   strcpy(str2, "ABCDEF");

   int ret = strcmp(str1, str2);

   if(ret < 0)
   {
      printf("str1 小于 str2");
   }
   else if(ret > 0) 
   {
      printf("str2 小于 str1");
   }
   else 
   {
      printf("str1 等于 str2");
   }
   
   return(0);
}

3,int sscanf(char *str,const char * format)从字符串读取格式化输入

sscanf( cgistr, "Ip=%[^|]|Port=%d|JobName=%[^|]|Filter=%[^|]|", cBusIp, &nPort,cJob,pJobInfo);
将cgistr中的值按格式复给后面四个cbusip

4,int memcmp(const void *str1, const void *str2, size_t n)) 把存储区 str1 和存储区 str2 的前 n 个字节进行比较,不区分大小写

#include<stdio.h>
#include<stdlib.h>

int main()
{
    char *p1="qweqwe";
    char *p2="qweQWE";
int ret=memcmp(p1,p2,3);
    if(ret<0)
    {   
    printf("p1<p2\n");
    }   
    else if(ret>0)
    {   
    printf("p1>p2\n");
    }   
    else
    {   
    printf("p1=p2\n");
    }   

 
}

5,inet_ntoa()将网络地址转换成" . "点隔的字符串格式

#include <stdio.h>   
#include <sys/socket.h>   
#include <netinet/in.h>   
#include <arpa/inet.h>   
#include <string.h>   
int main(int argc, char *argv[])   
{   
struct in_addr addr1,addr2,addr3;   
ulong l1,l2,l3;   
l1= inet_addr("192.168.0.74");   
l2 = inet_addr("211.100.21.179");   
memcpy(&addr1, &l1, 4);   
memcpy(&addr2, &l2, 4);   
printf("%s\n", inet_ntoa(addr1));   
printf("%s\n", inet_ntoa(addr2));   
return 0;   
}   

 

posted @ 2019-04-14 22:10  cayenne2018  阅读(386)  评论(0编辑  收藏  举报