把“192.168.1.6”字符串转化成加4后的ip地址
1 #include<string.h>
2 #include<stdio.h>
3 #include<stdlib.h>
4 void main()
5 {
6 char ip[65] = "192.168.1.6";
7 char ip_range[64] = {0};
8 char *q = NULL;
9 char tmp[64] ={0};
10
11 q = strrchr(ip, '.');
12 if(q != NULL)
13 {
14 printf("q=%s\n",q);
15 printf("%d\n",atoi(q+1));
16 strncpy(ip_range, ip, q-ip);
17
18 printf("ip_range=%s\n",ip_range);
19
20 sprintf(tmp, "%d", atoi(q+1)+4);
21 printf("tmp=%s\n",tmp);
22 strcat(ip_range,".");
23 strcat(ip_range, tmp);
24
25 printf("last ip_range=%s\n",ip_range);
28 }
31 }
运行结果
q=.6
6
ip_range=192.168.1
tmp=10
last ip_range=192.168.1.10
注意:Linux C语言中,strrchr函数是找出字符串中最后一次出现某字符的位置,并返回该位置指针
把字符串转换为数字用函数atoi(str);
把数字转换为字符串用sprintf(str, "%d", num);