<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      利用sprintf與snprintf巧妙實現數值變量轉換為字符串型

      0.前情提要

      這是在搞STM32開發時遇到的一個問題,要將數字通過串口發送給上位機,但是HAL庫中的HAL_UART_Transmit函數只接受uint8_t *類型的參數,因此我們需要通過一個函數先將數值類型變量轉換為char *字符串,再強制類型轉換為uint8_t *類型的數組。經過上網查詢,我發現sprintf函數與snprintf函數可以方便的解決這個問題。

      1.直!接!來!吧!

      該函數的原型為int sprintf(char *dest, const char *format, ...);,其中*dest為格式化字符串的緩沖區,*format為格式化字符串(后面的參數用法和printf函數幾乎一樣,可以理解為該函數就讓是printf函數原本輸出到屏幕上的內容輸出到*dest中。)
      示例代碼:

      點擊查看代碼
      char* intToString(int num) {
        static char buffer[20]; // 靜態數組,足夠存儲32位整數
      
        snprintf(buffer, sizeof(buffer), "%d", num);
        return buffer;
      }
      

      該方法有可能輸出內容太長導致緩沖區溢出,不過對于一般的應用場景來說足夠用了。
      為了防止這種狀態的發生,可以使用snprintf()函數,該函數的原型為int snprintf ( char * str, size_t size, const char * format, ... );,其中size參數為要寫入的字符的最大數目。如果格式化后的字符串長度超過了size-1,則snprintf()只會寫入size-1個字符,并在字符串的末尾添加一個空字符(\0)以表示字符串的結束。
      這兩個函數的返回值規則是一樣的:

      • 如果成功,返回將要寫入的字符數(不包括結尾的空字符),即使這個值大于size
      • 如果發生編碼錯誤,返回負值。

      先寫這么多吧我要睡了明天怎么還有早八高數啊啊啊啊啊

      posted @ 2025-10-09 23:53  宇默昀離  閱讀(12)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 蜜桃无码一区二区三区| 欲香欲色天天天综合和网| 国产精品三级黄色小视频| 国产玩具酱一区二区三区| 精品国产亚洲第一区二区三区| 色悠久久网国产精品99| 精品亚洲国产成人av| 男人和女人做爽爽视频| 图片区 小说区 区 亚洲五月 | 国产精品一区二区传媒蜜臀| 久久精产国品一二三产品| 精品无码三级在线观看视频| 欧美巨大极度另类| 久久综合激情网| 热久久99精品这里有精品| 午夜福利看片在线观看| 日韩精品福利一区二区三区| 亚洲自拍偷拍福利小视频| 2021av在线天堂网| 香港日本三级亚洲三级| 久久综合色之久久综合色| 久久精品夜夜夜夜夜久久 | 丰满少妇高潮无套内谢| 国产成人综合久久久久久| 免费无码午夜理论电影| 亚洲香蕉免费有线视频| 99在线小视频| 国产精品制服丝袜无码| 日本精品不卡一二三区| 久久精品蜜芽亚洲国产AV| 男人的天堂av一二三区| 色吊a中文字幕一二三区| 久久久久久亚洲精品a片成人| 91老肥熟女九色老女人| 激情视频乱一区二区三区| 国产在线精品一区二区三区直播| 亚洲老熟女一区二区三区| 北岛玲亚洲一区二区三区| 欧美zoozzooz性欧美| 亚洲综合伊人久久大杳蕉| 亚洲美免无码中文字幕在线|