最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

snprintf函數(shù)的用法解析

 更新時間:2013年07月25日 10:12:28   作者:  
以下是對snprintf函數(shù)的具體使用方法進行了詳細(xì)的分析介紹,需要的朋友可以過來參考下

int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...);
函數(shù)說明:最多從源串中拷貝n-1個字符到目標(biāo)串中,然后再在后面加一個0。所以如果目標(biāo)串的大小為n 的話,將不會溢出。
函數(shù)返回值:若成功則返回欲寫入的字符串長度,若出錯則返回負(fù)值。

Result1(推薦的用法)

復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
     char str[10]={0,};
     snprintf(str, sizeof(str), "0123456789012345678");
     printf("str=%s/n", str);
     return 0;
}

root] /root/lindatest
$ ./test
str=012345678


Result2:(不推薦使用)
復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char str[10]={0, };
    snprintf(str, 18, "0123456789012345678");
    printf("str=%s/n", str);
    return 0;
}

root] /root/lindatest
$ ./test
str=01234567890123456


snprintf函數(shù)返回值的測試:
復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char str1[10] ={0, };
    char str2[10] ={0, };
    int ret1=0,ret2=0;
    ret1=snprintf(str1, sizeof(str1), "%s", "abc");
    ret2=snprintf(str2, 4, "%s", "aaabbbccc");
    printf("aaabbbccc length=%d/n", strlen("aaabbbccc"));
    printf("str1=%s,ret1=%d/n", str1, ret1);
    printf("str2=%s,ret2=%d/n", str2, ret2);
    return 0;
}

[root] /root/lindatest
$ ./test
aaabbbccc length=9
str1=abc,ret1=3
str2=aaa,ret2=9


解釋SIZE:
復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{
char dst1[10] ={0, },dst2[10] ={0, };
char src1[10] ="aaa",src2[15] ="aaabbbcccddd";
int size=sizeof(dst1);
int ret1=0, ret2=0;
ret1=snprintf(dst1, size, "str :%s", src1);
ret2=snprintf(dst2, size, "str :%s", src2);
printf("sizeof(dst1)=%d, src1=%s, /"str :%%s/"=%s%s, dst1=%s, ret1=%d/n", sizeof(dst1), src1, "str :", src1, dst1, ret1);
printf("sizeof(dst2)=%d, src2=%s, /"str :%%s/"=%s%s, dst2=%s, ret2=%d/n", sizeof(dst2), src2, "str :", src2, dst2, ret2);
return 0;
}
root] /root/lindatest
$ ./test
sizeof(dst1)=10, src1=aaa, "str :%s"=str :aaa, dst1=str :aaa, ret1=8
sizeof(dst2)=10, src2=aaabbbcccddd, "str :%s"=str :aaabbbcccddd, dst2=str :aaab, ret2=17

補充一下,snprintf的返回值是欲寫入的字符串長度,而不是實際寫入的字符串度。如:
char test[8];
int ret = snprintf(test,5,"1234567890");
printf("%d|%s/n",ret,test);

運行結(jié)果為:
10|1234

相關(guān)文章

  • C++數(shù)據(jù)結(jié)構(gòu)之哈希算法詳解

    C++數(shù)據(jù)結(jié)構(gòu)之哈希算法詳解

    這篇文章主要為大家詳細(xì)介紹了C++數(shù)據(jù)結(jié)構(gòu)中哈希算法的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,希望對大家有所幫助
    2022-12-12
  • C++控制臺實現(xiàn)貪吃蛇游戲

    C++控制臺實現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了C++控制臺實現(xiàn)貪吃蛇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • VC中使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序簡明教程

    VC中使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序簡明教程

    這篇文章主要介紹了VC中使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序的方法,結(jié)合實例形式詳細(xì)講述了ADO的原理及VC使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C語言實現(xiàn)單鏈表的基本操作分享

    C語言實現(xiàn)單鏈表的基本操作分享

    單鏈表是一種鏈?zhǔn)酱嫒〉臄?shù)據(jù)結(jié)構(gòu),用一組地址任意的存儲單元存放線性表中的數(shù)據(jù)元素。本文將為大家介紹C語言中單鏈表的基本操作,需要的可以參考一下
    2022-10-10
  • C迷途指針詳解

    C迷途指針詳解

    這篇文章主要介紹了C迷途指針,迷途指針又稱為懸空指針、野指針,其對C程序的安全性與穩(wěn)定性影響巨大,本文對其原理與檢測方法做了較為詳盡的分析,需要的朋友可以參考下
    2014-09-09
  • vscode不同項目使用不同的插件的實現(xiàn)

    vscode不同項目使用不同的插件的實現(xiàn)

    本文主要介紹了vscode不同項目使用不同的插件的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • C++繼承與菱形繼承詳細(xì)介紹

    C++繼承與菱形繼承詳細(xì)介紹

    繼承(inheritance)機制是面向?qū)ο蟪绦蛟O(shè)計使代碼可以復(fù)用的最重要的手段,它允許程序員在保持原有類特性的基礎(chǔ)上進行擴展,增加功能,這樣產(chǎn)生新的類,稱派生類。繼承呈現(xiàn)了面向?qū)ο蟪绦蛟O(shè)計的層次結(jié)構(gòu),體現(xiàn)了由簡單到復(fù)雜的認(rèn)知過程
    2022-08-08
  • C++中操作符的前置與后置有什么區(qū)別

    C++中操作符的前置與后置有什么區(qū)別

    C 語言提供了豐富的操作符,有:算術(shù)操作符,移位操作符,位操作符,賦值操作符,單目操作符,關(guān)系操作符,邏輯操作符,條件操作符等。接下了讓我們詳細(xì)了解掌握它
    2022-05-05
  • C#如何調(diào)用原生C++ COM對象詳解

    C#如何調(diào)用原生C++ COM對象詳解

    這篇文章主要給大家介紹了C#如何調(diào)用原生C++ COM對象,在C++中實現(xiàn)C#的接口。文中通過示例代碼介紹的很詳細(xì),相信對大家的理解和學(xué)習(xí)會有一定的參考借鑒價值,有需要的朋友們下面來一起看看吧。
    2016-12-12
  • C語言基于EasyX繪制時鐘

    C語言基于EasyX繪制時鐘

    這篇文章主要為大家詳細(xì)介紹了C語言基于EasyX繪制時鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論

抚松县| 攀枝花市| 舟山市| 阿鲁科尔沁旗| 双城市| 晴隆县| 桦川县| 惠东县| 鄂托克旗| 岐山县| 杭锦旗| 浑源县| 榆树市| 察哈| 霍林郭勒市| 长岛县| 高平市| 昭苏县| 特克斯县| 阿拉善左旗| 澳门| 托里县| 会理县| 富锦市| 临高县| 平江县| 固阳县| 大埔县| 莫力| 宝清县| 类乌齐县| 阳东县| 海兴县| 新丰县| 尼勒克县| 十堰市| 寻甸| 濮阳市| 连山| 平阳县| 沂南县|