『壹』 c語言函數sprintf
sprintf函數的原型是這樣的:
int sprintf( char *buffer, const char *format, [ argument] … );
它是將格式化的字元串列印到字元串buffer中。
如printf函數是將字元串列印到屏幕,這個是到字元串而已。
sprintf 只是比printf函數多了一個參數:
int n = 1;
char s[20] = "Hello!";
char buf[20] = {'\0'};
printf("n = %d, s = %s", n, s); //列印到屏幕
sprintf(buf, "n = %d, s = %s", n, s); //列印到buf
『貳』 C語言中sprintf這個函數怎麼來用
sprintf和printf的用法類似,它用於格式化輸出到特定的存儲地
char
a[10];
sprintf(a,"%s","Hello
World");
上面就是把Hello
World存入a字元數組中
『叄』 C語言問題sprintf參數問題
//crt_sprintf.c
//compilewith:/W3
//
//.
//程序使用sprintf將各種數據格式化後置於字元數組buffer中
#include<stdio.h>
intmain(void)
{
charbuffer[200],s[]="computer",c='l';
inti=35,j;
floatfp=1.7320534f;
//格式化並列印各種數據到buffer
j=sprintf(buffer,"String:%s ",s);//C4996
j+=sprintf(buffer+j,"Character:%c ",c);//C4996
j+=sprintf(buffer+j,"Integer:%d ",i);//C4996
j+=sprintf(buffer+j,"Real:%f ",fp);//C4996
printf("Output: %s charactercount=%d ",buffer,j);
}
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 79
看懂這里你就懂了。
sprintf((char * )s,d)按照你的意思,這個用法是錯誤的。sprintf(s,"%s",d)中的d是可選參數但是中間的格式化字元串是不可去掉的。
『肆』 sprintf()函數的用法
在c語言中sprintf()函數的用法如下:
1、該函數包含在stdio.h的頭文件中。
2、sprintf和平時我們常用的printf函數的功能很相似。sprintf函數列印到字元串中(要注意字元串的長度要足夠容納列印的內容,否則會出現內存溢出),而printf函數列印輸出到屏幕上。sprintf函數在我們完成其他數據類型轉換成字元串類型的操作中應用廣泛。
3、sprintf函數的格式:
9、sprintf的返回值是字元數組中字元的個數,即字元串的長度,不用在調用strlen(str)求字元串的長度。
(4)c語言sprintf格式化擴展閱讀:
sprintf指的是字元串格式化命令,函數聲明為 int sprintf(char *string, char *format [,argument,...]);,主要功能是把格式化的數據寫入某個字元串中,即發送格式化輸出到 string 所指向的字元串。sprintf 是個變參函數。使用sprintf 對於寫入buffer的字元數是沒有限制的,這就存在了buffer溢出的可能性。解決這個問題,可以考慮使用snprintf函數,該函數可對寫入字元數做出限制。
『伍』 c語言中的sprintf函數
1.
sprintf
是個變參函數,定義如下:
int
sprintf(
char
*buffer,
const
char
*format
[,
argument]
...
);
除了前兩個參數類型固定外,後面可以接任意多個參數。而它的精華,顯然就在第二個參數:格式化字元串上。
2.
sprintf
使用格式化字元串來指定串的格式,在格式串內部使用一些以「%」開頭的格式說明符(format
specifications)來占據一個位置,在後邊的變參列表中提供相應的變數,最終函數就會用相應位置的變數來替代那個說明符,產生一個調用者想要的字元串。
3.
sprintf
最常見的應用之一莫過於把整數列印到字元串中,所以,spritnf
在大多數場合可以替代itoa。
『陸』 C語言如何把一個字元串轉換成數字
C語言中,可以使用atoi函數將字元串轉換為數字,如atoi("123")可以得到數字123。
atoi (表示 ascii to integer)是把字元串轉換成整型數的一個函數,應用在計算機程序和辦公軟體中。int atoi(const char *nptr) 函數會掃描參數 nptr字元串,會跳過前面的空白字元(例如空格,tab縮進)等。
如果 nptr不能轉換成 int 或者 nptr為空字元串,那麼將返回0。特別注意,該函數要求被轉換的字元串是按十進制數理解的。atoi輸入的字元串對應數字存在大小限制(與int類型大小有關),若其過大可能報錯-1。
(6)c語言sprintf格式化擴展閱讀:
C語言中數字轉化為字元串的方案:
使用sprintf函數來實現,如sprintf("%d", 123)可以得到字元串"123"。
sprintf指的是字元串格式化命令,主要功能是把格式化的數據寫入某個字元串中。sprintf 是個變參函數。使用sprintf 對於寫入buffer的字元數是沒有限制的,這就存在了buffer溢出的可能性。解決這個問題,可以考慮使用 snprintf函數,該函數可對寫入字元數做出限制。
『柒』 C語言sprintf問題
sprintf指的是字元串格式化命令,主要功能是把格式化的數據寫入某個字元串中。
然後看%.3e就是表示以指數形式輸出浮點數,其中.3表示輸出三位小數
所以這句話的意思就是把tem2的值以指數形式轉換成字元串,並保存到dg中,並且字元串中有三位小數。
『捌』 C語言sprintf怎麼使用
sprintf函數的功能是把格式化的數據寫入某個字元串緩沖區。
int sprintf( char *buffer, const char *format, [ argument] … );
buffer:char型指針,指向將要寫入的字元串的緩沖區。
format:格式化字元串。
[argument]...:可選參數,可以是任何類型的數據。
示例
intmain()
{
charbuffer[50];//大小50的char字元數組
intn,a=5,b=3;//
n=sprintf(buffer,"%d+%d=%d",a,b,a+b);//把a,b,a+b以第二個參數的形式寫入buffer
printf("[%s]isastring%dcharslong ",buffer,n);/*「格式輸出函數」*/
return0;
}
輸出結果[5 + 3 = 8] is a string 13 chars long
sprintf格式的規格如下所示。[]中的部分是可選的。
%[指定參數][標識符][寬度][.精度]指示符
若想輸出'%'本身時, 請使用'%%'處理。
1. 處理字元方向。負號時表示從後向前處理。
2. 填空字元。 0 的話表示空格填 0;空格是內定值,表示空格就放著。
3.字元總寬度。為最小寬度。
4. 精確度。指在小數點後的浮點數位數。
轉換字元
%% 印出百分比符號,不轉換。
%c 整數轉成對應的 ASCII 字元。
%d 整數轉成十進位。
%f 倍精確度數字轉成浮點數。
%o 整數轉成八進位。
%s 整數轉成字元串。
%x 整數轉成小寫十六進位。
%X 整數轉成大寫十六進位。
『玖』 c語言sprintf問題
sprintf函數的格式:
int sprintf( char *buffer, const char *format [, argument,...] );
除了前兩個參數固定外,可選參數可以是任意個。buffer是字元數組名;format是格式化字元串(像:"=%6.2f%#x%o",%與#合用時,自動在十六進制數前面加上0x)。只要在printf中可以使用的格式化字元串,在sprintf都可以使用。其中的格式化字元串是此函數的精華。
例char str[20];
double f=14.309948;
sprintf(str,"%6.2f",f)