一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - C++解析特殊符號tab、換行符號實例代碼

C++解析特殊符號tab、換行符號實例代碼

2021-11-08 14:18良知猶存 C/C++

這篇文章主要給大家介紹了關于C++解析特殊符號tab、換行符號的相關資料,這個功能在我們日常開發中經常會遇到,需要的朋友可以參考下

前言:

我們經常會遇到一些Linux內核信息需要,比如一個wifi數據,中間是用tab鍵盤隔開的,然后每一行用換行符進行區分,如下所示的數據

C++解析特殊符號tab、換行符號實例代碼

第一位置是:wifi名稱 第二個位置是:信號強度 第三個位置是:信號類型2.4Ghz或者5Ghz 第四個位置是:加密類型 第五個類型是:MAC地址

遇到這樣的數據,我們比較常見的C函數解析是用while循環去匹配字符串里面的'\t'(tab鍵),'\n'(換行符號)等,然后用C標準庫里面str函數,例如strncpy進行復制或者strstr去查找,類似于下面所示:

?
1
2
3
4
5
6
7
8
9
int i, j ;
i = 0;
j = strlen(strIn) - 1;
while(strIn[i] == ' ' || strIn[i] == '\t')
        ++i;
 
while(strIn[j] == ' ' || strIn[j] == '\t')
        --j;
strncpy(strOut, strIn + i , j - i + 1);

那么我們怎么用C++解析呢,最近剛好解析了部分wifi信息,所以給大家分享哈這部分。

解析代碼

對應上面的wifi信息的表,我們看到了一行有五個數據,這時候打包收到了一個string類型的wifi信息。

第一件事情,我們先確認好解析的范圍,即知道最開始一位和最后一位,設置好recivemsg.begin 和 recivemsg.

第二件事情,進行識別tab符號和換行符號之后進行分段

第三件事情,把分好的數據塞到一個vector容器里面,然后因為每一行都有五個數據,所以我們就可以按照0~5一組的數據進行分發給各處。

實際C++代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
vector<string> Parse_Wifi_List(string& msg)
{
        vector<string> words;
        if(msg.empty())
            return words;
        string::iterator temp_p = msg.begin();
        string sepword;
        bool bit_true = false;
        while(temp_p != msg.end())
        {
            if(/* * temp_p == ' ' || */  * temp_p == '\t' || * temp_p == '\n')
            {
                if(bit_true)
                {
                    words.push_back(sepword);
                    PP_INFO("seword :%s",sepword.c_str());
                    sepword.clear();
                }  
                bit_true = false;
                temp_p++;
                continue;
            }
            else
            {
                bit_true = true;
                sepword += *temp_p;
            }
            if(*temp_p ++ == '\0')
            {
                break;
            }
            // else
            // {
            //  PP_INFO("%d %d %c",msg.end(),*temp_p,*temp_p);
            // }
        }
        // for(auto point : words)
        // {
        //  printf(".%s\n",point.c_str());
        // }
      //for(uint16_t i =0;i<words.size();i+=5)
      //{
        // printf("[]%s,%s\n",words[i].c_str(),words[i+1].c_str(),words[i+3].c_str());
        //}
        return words;
    }

使用此代碼解析LOG如下:

C++解析特殊符號tab、換行符號實例代碼

結語

這就是我分享的一個簡單的C++解析一些特殊符號的實踐,如果大家有更好的想法和需求,也歡迎大家加我好友交流分享哈。

到此這篇關于C++解析特殊符號tab、換行符號的文章就介紹到這了,更多相關C++解析特殊符號內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://mp.weixin.qq.com/s/NCaY9okJQYLBGB56viLr4A

延伸 · 閱讀

精彩推薦
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
主站蜘蛛池模板: 亚洲毛片基地 | np高h疯狂黄暴宫口 narutomanga玖辛奈之乳 | 亚洲九九九 | 欧美一区二区三区在线观看免费 | 亚洲国产99在线精品一区二区 | 精久久| 青草草产国视频 | 久久这里都是精品 | 欧美日韩在线一区二区三区 | 男人猛进女人屁股免费 | 大学生宿舍飞机china free | 美女啪啪国产 | 美女的隐私无遮挡撒尿 | 91制片厂制作传媒免费版樱花 | 手机看片国产免费久久网 | 欧美草逼视频 | 成人观看免费大片在线观看 | 男人和女人全黄一级毛片 | 国产成人精品免费2021 | 日韩毛片免费在线观看 | 黑人群性xxx| 偷拍自拍校园春色 | 小舞丝袜调教喷水沦为肉奴 | 四虎免费影院ww4164h | 精品视频一区二区三区免费 | 国产精品久久久久久久久免费观看 | 国产福利免费看 | 紧身短裙女教师波多野 | 青草香蕉精品视频在线观看 | 成品人视频w免费观看w | 日韩美毛片 | 免费成年视频 | 色老板在线免费视频 | 成人福利在线播放 | 久久这里只有精品视频9 | 无码一区二区三区视频 | 国产日韩视频一区 | 精品国产自在现线久久 | 99综合在线 | 欧美国产日产精品免费视频 | jizz 日本亚洲 |