亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2021年05月16日 10:34:47   作者:良知猶存  
這篇文章主要給大家介紹了關(guān)于C++解析特殊符號tab、換行符號的相關(guān)資料,這個功能在我們?nèi)粘i_發(fā)中經(jīng)常會遇到,需要的朋友可以參考下

前言:

我們經(jīng)常會遇到一些Linux內(nèi)核信息需要,比如一個wifi數(shù)據(jù),中間是用tab鍵盤隔開的,然后每一行用換行符進行區(qū)分,如下所示的數(shù)據(jù)

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

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

    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信息,所以給大家分享哈這部分。

解析代碼

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

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

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

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

實際C++代碼如下:

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如下:

結(jié)語

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

到此這篇關(guān)于C++解析特殊符號tab、換行符號的文章就介紹到這了,更多相關(guān)C++解析特殊符號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用C++17實現(xiàn)JSON庫設(shè)計思路示例全解

    使用C++17實現(xiàn)JSON庫設(shè)計思路示例全解

    這篇文章主要為大家介紹了使用C++17實現(xiàn)JSON庫設(shè)計思路示例全解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • C++ OpenCV實現(xiàn)與添加椒鹽噪聲和高斯噪音

    C++ OpenCV實現(xiàn)與添加椒鹽噪聲和高斯噪音

    圖像噪聲是圖像在獲取或是傳輸過程中受到隨機信號干擾,妨礙人們對圖像理解及分析處理的信號,本文為大家整理了C++結(jié)合OpenCV為圖像添加椒鹽噪聲和高斯噪音的代碼,需要的可以收藏一下
    2023-09-09
  • C語言中多樣式的格式控制符的使用詳解

    C語言中多樣式的格式控制符的使用詳解

    C語言中的格式控制符類型繁多,雖然格式字符可能就那么幾個,但組合起來使得格式控制符變得多樣化,這對于C語言初學(xué)者來說無疑是一種痛苦,為此我將常見的格式控制符類型及意義總結(jié)一下,希望對大家有所幫助
    2023-03-03
  • Dashboard Interface 應(yīng)用實現(xiàn)操作

    Dashboard Interface 應(yīng)用實現(xiàn)操作

    Dashboard Server Remote Control Interface是一個關(guān)鍵的功能,它為用戶提供了通過TCP/IP協(xié)議遠程控制機器人的能力,執(zhí)行包括開關(guān)機、加載程序、檢查機器人狀態(tài)以及設(shè)置機器人操作模式等多種操作,本文介紹Dashboard Interface 應(yīng)用操作,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • C語言結(jié)構(gòu)體超詳細講解

    C語言結(jié)構(gòu)體超詳細講解

    C語言結(jié)構(gòu)體(Struct)從本質(zhì)上講是一種自定義的數(shù)據(jù)類型,只不過這種數(shù)據(jù)類型比較復(fù)雜,是由?int、char、float?等基本類型組成的。你可以認為結(jié)構(gòu)體是一種聚合類型
    2022-04-04
  • C++中const的用法詳細總結(jié)

    C++中const的用法詳細總結(jié)

    以下是對C++中const的用法進行了詳細的總結(jié)分析,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-09-09
  • 基于Matlab實現(xiàn)有雪花飄落的圣誕樹的繪制

    基于Matlab實現(xiàn)有雪花飄落的圣誕樹的繪制

    圣誕節(jié)快到了(雖然還有十天),一起來用MATLAB畫個簡單圣誕樹叭~代碼幾乎取消了全部的循環(huán),因此至少需要17b之后的版本,僅存的循環(huán)用來讓樹旋轉(zhuǎn)起來,讓雪花飄落起來,讓樹頂上的星光搖曳起來~感興趣的可以試一試
    2022-12-12
  • C語言文件操作函數(shù)freopen詳細解析

    C語言文件操作函數(shù)freopen詳細解析

    替換一個流,或者說重新分配文件指針,實現(xiàn)重定向。如果stream流已經(jīng)打開,則先關(guān)閉該流。如果該流已經(jīng)定向,則freopen將會清除該定向。此函數(shù)一般用于將一個指定的文件打開一個預(yù)定義的流:標準輸入、標準輸出或者標準出錯
    2013-10-10
  • C++11之std::future對象的使用以及說明

    C++11之std::future對象的使用以及說明

    這篇文章主要介紹了C++11之std::future對象的使用以及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C++實現(xiàn)團購訂單管理系統(tǒng)

    C++實現(xiàn)團購訂單管理系統(tǒng)

    這篇文章主要為大家詳細介紹了如何利用C++實現(xiàn)團購訂單管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-12-12

最新評論