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);
說明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", sizeof(void *), &i);
說明9:sprintf的返回值是字符數組中字符的個數,即字符串的長度,不用在調用strlen(s)求字符串的長度。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM