使用snprintf函數使用時注意事項

snprintf函數

函數原型:int snprintf(char *str, size_t size, const char *format, ...)。

簡介:將可變參數 “…” 按照format的格式格式化爲字符串,然後再將其拷貝至str中。

個人理解:就是將不同的數據進行拼接,然後得到一個大數組。

注意事項:需要拼接的字符串數組a,把a賦值完成後一定要在後面在賦值一個0(16進制的0,不是字符串0);

之前經歷:之前遇到這種情況,定義了一個100字節長度的數組,然後運行,當我要打印50個字符的時候,使用snprintf函數進行拼接,按理來說,打印出來的數據應該是,其他字符+50個字符,但實際打印出來是其他字符+100個字符;原因是之前使用過這個數組,並且這個數組有殘留數據,所以把後面非0數據都打印出來了;仔細瞭解後知道,snprintf是以“\0”爲結束符的,所以後來我在函數賦值完後,再在其後面添加一個0,這樣就完美解決了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章