C语言 —— 获取字符串中两个字符之间的的数据
生活随笔
收集整理的這篇文章主要介紹了
C语言 —— 获取字符串中两个字符之间的的数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:獲取字符串中兩個字符之間的數據。最近寫SMTP代理,需要獲取發送方與接收方的郵件名稱。
字符串為 “MAIL FROM:<test1@163.com>\r\n” , 獲取字符':'冒號和字符'\r'之間的值 <test1@163.com>
/*C獲取字符串中兩個字符之間的的數據*/ #include <stdio.h> #include <string.h> #define SUCCESS 0int test(char *pcBuf, char *pcRes) {char *pcBegin = NULL;char *pcEnd = NULL;pcBegin = strstr(pcBuf, ":");pcEnd = strstr(pcBuf, "\r");if(pcBegin == NULL || pcEnd == NULL || pcBegin > pcEnd){printf("Mail name not found!\n");}else{pcBegin += strlen(":");memcpy(pcRes, pcBegin, pcEnd-pcBegin);}return SUCCESS; }int main() {char cBuf[40960] = {"MAIL FROM:<test1@163.com>\r\n"};char cRes[40960] = {0}; test(cBuf, cRes);printf("%s\n", cRes); return SUCCESS; } [root@localhost test]# ./strncmp <test1@163.com>?
總結
以上是生活随笔為你收集整理的C语言 —— 获取字符串中两个字符之间的的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 —— 整型(int)类型数据,做
- 下一篇: Linux —— 时间(hwlock设置