【c语言学习笔记001:字符串操作之读取字符串中数据】

    使用字符串操作函数,从一个字符串中读取IP和PORT

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <stdlib.h>
 4 #define DEBUG
 5 #ifdef DEBUG
 6     #define DE_OUT printf
 7 #else
 8     #define DE_OUT
 9 #endif
10 
11 int main(void)
12 {
13     DE_OUT("Hello World!\n");
14     char * pdata = (char *) "MHJDEBUG#192.168.5.187:60000";
15 
16 
17     char * IPdata = strchr(pdata,'#');
18     int   len_IPdata = strlen(IPdata);
19 
20     char * PORTdata = strstr(pdata,":");
21     int   len_PORTdata = strlen(PORTdata);
22 
23     char * mIPdata = (char * )malloc(sizeof(char)*(len_IPdata-len_PORTdata));
24     memset(mIPdata,'\0',sizeof(mIPdata));
25     strncat(mIPdata,IPdata+1,len_IPdata-len_PORTdata-1);
26 
27     char * mPORTdata = (char * )malloc(sizeof(char)*(len_PORTdata - 0));
28     memset(mPORTdata,'\0',sizeof(mPORTdata));
29     strncat(mPORTdata,PORTdata+1,len_PORTdata-1);
30 
31     int nPort = atoi(mPORTdata);
32     DE_OUT("\r\n IP = %s mPort = %d",mIPdata,nPort);
33 
34     free(mIPdata);
35     free(mPORTdata);
36 
37 
38 
39 
40     return 0;
41 }

结果:

posted @ 2015-11-13 00:40  叶小鹏  阅读(461)  评论(0编辑  收藏  举报