函式原型:int snprintf(char* dest_str,size_t size,const char* format,…);
將可變個引數(…)按照format格式化成字串,然後將其複製到str中。
(1) 如果格式化後的字串長度 < size,則將此字串全部複製到str中,並給其後新增乙個字串結束符(』\0』);
(2) 如果格式化後的字串長度 >= size,則只將其中的(size-1)個字元複製到str中,並給其後新增乙個字串結束符(』\0』),返回值為欲寫入的字串長度。
#include
intmain()
所需標頭檔案:#include
函式返回值:
若成功則返回預寫入的字串長度,若出錯則返回負值。
與snprintf的返回值不同,sprintf的返回值是成功寫入的字串長度,此處需要謹慎處理。
說明:
strcpy() sprintf() strcat() 存在安全隱患, 其對應的安全版為:
strncpy() snprintf() strncat()
snprintf
(s,100
,"%.*s",3
,"abcd"
);
s的值為abc
%.*s 表示有兩項, 第一項指定了長度,第二項則是%s的內容,所以取前三位
在vs2008中需在預編譯處加入
#if_msc_ver
#define snprintf _snprintf
#endif
通用ansi unicode 通用定義
_sntprintf
例子
#include
#include
intmain()
;int nlen=
snprintf
(str,
sizeof
(str)
,"123456789012345678");
printf
("str=%s\n"
,str)
;printf
("nlen=%d\n"
,nlen)
;return0;
}
執行結果:
str=123456789
nlen=18
標頭檔案::
system(「pause」)意思就是bai讓程式暫停一下,du然後按任意鍵繼續,初學的時候最多見於程zhi序的末尾處,用於看運dao行結果,避免程式一閃而過。相同的我們還可以用getchar(),避免程式執行完直接結束而看不到執行結果。
1.資料型別存在的意義:給變數分配乙個合適的空間(避免資源浪費)。
2.c++規定在建立乙個常量或者變數的時候,必須要指定出相應的資料型別,否則無法給變數分配記憶體。
short 2位元組 (-32768~32767)
int 4位元組 -2^31------- 2 31-1
long 4位元組
long long 8位元組 -2^63
Flex 學習問題集錦
1.flex 和 flex build3 的官方資源。2.頁面跳轉的問題private function login check void通過上面的函式可以實現 3.生成swf 的大小問題 設定方法 專案屬性 flex build path library path framework linkag...
hadoop hdfs 問題集錦 面試問題集錦
hadoop hdfs問題集錦 一 hadoop為什麼不適合處理大量的小檔案,怎麼解決?原因 1 檔案的元資料 包括檔案被分成了哪些blocks,每個block儲存在哪些伺服器的哪個block塊上 都是儲存在namenode上的記憶體,會對namenode的記憶體造成壓力 2 檔案過多會造成檔案的定...
QT學習中的問題集錦
1 出現 collect2 ld returned 1 exit status 這樣的問題的原因是多種多樣的,不能一概而論。要根據這個錯誤提示的前面的文字才能知道真正出錯的原因。3 出現 cann t find x 時,當 x是乙個類庫的名字,估計你是沒有在pro檔案中增加對應庫的說明。例如,我的程...