天天看點

sprintf函數的用法 sprintf函數的用法

sprintf函數的用法

2014-10-23 23:38  29013人閱讀  評論(0)  收藏  舉報

sprintf函數的用法 sprintf函數的用法

  分類: 嵌入式系統(35) 

sprintf函數的用法 sprintf函數的用法

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

說明1:該函數包含在stdio.h的頭檔案中,使用時需要加入:#include <stdio.h>

說明 2:sprintf與printf函數的差別:二者 功能相似,但是 sprintf函數列印到字元串中,而printf函數列印輸出到螢幕上。 sprintf函數在我們完成其他資料類型轉換成字元串類型的操作中應用廣泛。 說明3:sprintf函數的格式: int sprintf( char *buffer, const char *format [, argument,...] );

除了前兩個參數固定外,可選參數可以是任意個。buffer是字元數組名;format是格式化字元串(像:"=%6.2f%#x%o",%與#合用時,自動在十六進制數前面加上0x)。隻要在printf中可以使用的格式化字元串,在sprintf都可以使用。其中的格式化字元串是此函數的精華。

說明4:可以控制精度 char str[20];

double f=14.309948;

sprintf(str,"%6.2f",f);

說明5:可以将多個數值資料連接配接起來。 char str[20]; int a=20984,b=48090;

sprintf(str,"=m",a,b);

str[]="20984 48090"

說明6:可以将多個字元串連接配接成字元串 char str[20];

char s1={'A','B','C'};

char s2={'T','Y','x'};

sprintf(str,"%.3s%.3s",s1,s2);

%m.n在字元串的輸出中,m表示寬度,字元串共占的列數;n表示實際的字元數。%m.n在浮點數中,m也表示寬度;n表示小數的位數。 說明7:可以動态指定,需要截取的字元數 char s1={'A','B','C'};

char s2={'T','Y','x'};

sprintf(str,"%.*s%.*s",2,s1,3,s2);

sprintf(s, "%*.*f", 10, 2, 3.1415926); 

說明8:可以列印出i的位址: sprintf(s, "%p", &i); 相當于 sprintf(s, "%0*x", 2 * sizeof(void *), &i); 說明9:sprintf的傳回值是字元數組中字元的個數,即字元串的長度,不用在調用strlen(s)求字元串的長度

繼續閱讀