1.sprintf
函式原型:int sprintf(char *string,char *format,[argument,...]);
sprintf函式說明:字串格式化命令,主要功能是將格式化資料寫入某個字串中,即傳送格式化輸出到string所指向的字串。
函式返回值:字串長度
eg:sprintf(s,"%s%d%c","test",1,'2'); /*即把後面的引數按照指定格式輸入到字串s中*/
包含標頭檔案:
注意:sprintf是乙個變參函式,使用sprintf對於寫入buffer的字元數是沒有限制的,這就存在了buffer溢位的可能性。解決這個問題,可以考慮使用snpintf函式,該函式對可寫入的字元數做出了限制。
2.snprintf
函式原型:int snprintf(char *str,size_t size,const char *format,[argument...])
snprintf函式說明:將可變引數按照format的格式格式化為字串,拷貝到str中,至多拷貝size - 1個字元到目標串中,然後再在後面加乙個0。
函式返回值:若成功則返回欲寫入的字串長度,若出錯則返回負值。
eg:char a='a';
char str[3];
snprintf(str,sizeof(str),"%02x",a);
包含標頭檔案:
3.fseek
函式原型:fseek(file *stream,long offset,int fromwhere)
fseek函式說明:設定檔案指標stream的位置。
如果執行成功,stream將指向以fromwhere為基準,偏移offset(指標偏移量)個位元組的位置,函式返回0。
如果執行失敗(比如offset取值大於2*1024*1024*1024,即long的正數取值範圍2g),則不改變stream的指向,函式返回乙個非0值。
函式返回值:0或非0
eg:fseek(fp,50l,0) 或者fseek(fp,50l, seek_set) /*將位置指標移到離檔案頭50個位元組處*/
包含標頭檔案:
4.fread
函式原型:fread(void *ptr,size_t size,size_t number,file *stream)
fread函式說明:從給定輸入流stream讀取最多count個物件到陣列ptr中(相當於對每個物件呼叫count次fgetc)
ptr-- 這是指向帶有最小尺寸 size*number 位元組的記憶體塊的指標。
size-- 這是要讀取的每個元素的大小,以位元組為單位。
number-- 這是元素的個數,每個元素的大小為 size 位元組。
stream-- 這是指向 file 物件的指標,該 file 物件指定了乙個輸入流。
函式返回值:成功讀取的元素總數會以 size_t 物件返回,size_t 物件是乙個整型資料型別。如果總數與 number 引數不同,則可能發生了乙個錯誤或者到達了檔案末尾。
eg:(摘自網路,具體鏈結參考:
包含標頭檔案:
5.memcpy
函式原型:void *memcpy(void *destin,void *source,unsigned n)
函式返回值:函式返回指向dest的指標
eg:char *s="hello world";
char d[20];
memcpy(d,s,(strlen(s)+1));
包含標頭檔案:
拓展:strcpy和memcpy的區別,主要有以下三個方面:
1.複製的內容不同,strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列,整型,結構體,類等。
2.複製的方法不同,strcpy不需要指定長度,它遇到被複製字串結束符'\0'才結束,所以容易溢位。memcpy是根據其第三個引數決定複製的長度。
3.用途不同,通常再複製字串時用strcpy,而需要複製其他資料時,則一般用memcpy。
嵌入式開發中常用的Linux 網路命令
在嵌入式開發中,我們常常用到各種linux命令,今天和大家分享的就是基礎的 linux網路命令,這是在網上無意中看到的一篇整理得非常好的文章,分享給大家,希望對大家有幫助。有抱負的 linux 系統管理員和 linux 狂熱者必須知道的 最重要的 而且基礎的 linux 網路命令合集。在 it s ...
嵌入式C開發中用到的位域結構體
存放乙個開關量或者其他開關狀態時,用一位二進位即可。為了減少嵌入式記憶體資源的開銷,可以使用位域進行定義,位域是c語言支援的一種資料結構,稱為 位域 或 位段 位域 是把乙個位元組中的每個位劃分為幾個不同的區域,並指明每個區域的位數。每個域有乙個網域名稱,允許在程式中按網域名稱進行操作。定義乙個結構...
嵌入式linux開發常用到的命令 不定期更新
linux常用命令 1.檔案類 解壓tar.bz2壓縮包 tar xvjf filename.tar.bz2 解壓tar.xz壓縮包 tar jxvf filename.tar.xz 解壓tar.gz壓縮包 tar xzf filename.tar.gz 解壓tar壓縮包 tar xvf filen...