C語言 sprintf和strcat的用法

2021-10-12 05:09:10 字數 2713 閱讀 9690

sprintf 是個變參函式,定義如下:

int sprintf( char *buffer, const char *format [, argument] ... );

sprintf函式的功能是它把結果輸出到指定的字串中.

sprintf的第乙個引數是目的字串,

因為c語言在進行字串操作時不檢查字串的空間是否夠大,所以可能會出現陣列越界而導致程式崩潰的問題。

即使碰巧,程式沒有出錯,也不要這麼用,因為早晚會出錯。所以一定要在呼叫sprintf之前分配足夠大的空間給buf。

把整數123 列印成乙個字串儲存在s 中。

sprintf(s, "%d", 123); //產生"123"

也可以按照16 進製列印:

sprintf(s, "%8x", 4567); //小寫16 進製,寬度佔8 個位置,右對齊

sprintf(s, "%-8x", 4568); //大寫16 進製,寬度佔8 個位置,左對齊

c語言 strcat() 函式用來將兩個字串連線(拼接)起來。

標頭檔案:string.h

語法/原型:

char*strcat(char* strdestination, const char* strsource);

引數說明:

strcat(t,p)

char *t = new char[100];

strcpy(t,"hello ");

char *p= "word!zhuan";

strcat(t,p);

printf("%s\n",t);

delete t;

輸出hello word!

標頭檔案:#include

功能:用來比較兩個字串

引數:s1、s2為兩個進行比較的字串

返回值:若s1、s2字串相等,則返回零;若s1大於s2,則返回大於零的數;否則,則返回小於零的數。

說明:strcmp()函式是根據acsii碼的值來比較兩個字串的;strcmp()函式首先將s1字串的第乙個字元值減去s2第乙個字元,若差值為零則繼續比較下去;若差值不為零,則返回差值。

c語言 strcpy() 函式用於對字串進行複製(拷貝)。

標頭檔案:string.h

語法/原型:

char* strcpy(char* strdestination, const char* strsource);

引數說明:

strcpy() 會把 strsource 指向的字串複製到 strdestination。

必須保證 strdestination 足夠大,能夠容納下 strsource,否則會導致溢位錯誤。

返回值:目的字串,也即 strdestination。

if(ucedfapumpsetmode==0)strcpy(strset,"apc");

else if(ucedfapumpsetmode==1)strcpy(strset,"acc");

else strcpy(strset,"");

strcat((char*)strcmd,strset);//值

strcat((char*)strcmd,"\r\n"); //\r\n結束符

sendcmdtype = cmd_set_pump_mode_type;

c語言中標籤的下一條語句不能是定義變數的表示式,而case恰好就是標籤,所以說出現這種情況也是比較正常的。知道了原因之後那麼解決方法就多了,我可以在switch前就定義這個變數。

u8 gbkstr[20] = ; //臨界速度\

switch(parameter)

或者在case後加入復合語句:

switch(parameter)

; //臨界速度

gui_drawstring(190, 48, strlen((char *)gbkstr) * 8, 16, middleleft, gbkstr);

break;

}}

又或者是在case ***後加乙個分號:

switch(parameter)

; //臨界速度

gui_drawstring(190, 48, strlen((char *)gbkstr) * 8, 16, middleleft, gbkstr);

break;

}

rand() 返baidu乙個隨機整zhi數

rand()%10 返daozhuan0~9之間的隨機shu整數

rand()%10/10.0 返回0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9之中的隨機數答

前面是整形相除,只取整數部分,捨去餘數。

10/4=2

後面是浮點型除整形,實際按浮點型來算,不捨去餘數。

10.0/4=2.5

1<<7就是把1按位左移7位。0000 0001 左移7位變成 1000 0000

0<<6 0按位左移6位 還是 0000 0000

1<<5 是 0010 0000

0xf 2進製表示為 0000 1111

然後把這四個數字進行或運算得 1010 1111 即code 的值

C語言sprintf 函式

int sprintf char str,const char format,傳送格式化輸出到str所指向的字串。下面是 sprintf 函式的宣告。int sprintf char str,const char format,如果成功,則返回寫入的字元總數,不包括字串追加在字串末尾的空字元。如果失...

C語言中的sprintf

c中的sprintf函式使用也算比較頻繁了。之前了解不深入,今天總結一下 感謝傳送門 sprintf函式的用法 sprintf函式的格式int sprintf char buffer,const char format argument,除了前兩個引數固定外,可選引數可以是任意個。buffer是字元...

C語言 模擬實現strcpy函式與strcat函式

strcpy函式 首先我們來了解一下strcpy函式的功能和用法 strcpy是一種c語言的標準庫函式,strcpy把從src位址開始且含有 0 結束符的字串複製到以dest開始的位址空間,返回值的型別為char 也就是將乙個字串拷貝到另乙個字串中。那接下來我們看如何具體實現。我們的基本思想是定義兩...