【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 }
结果: