頭文件:string.h
strchr() 用來查找某字符在字符串中首次出現(xiàn)的位置,其原型為:char * strchr (const char *str, int c);【參數(shù)】str 為要查找的字符串,c 為要查找的字符。
strchr() 將會找出 str 字符串中第一次出現(xiàn)的字符 c 的地址,然后將該地址返回。
注意:字符串 str 的結(jié)束標(biāo)志 NUL 也會被納入檢索范圍,所以 str 的組后一個字符也可以被定位。
【返回值】如果找到指定的字符則返回該字符所在地址,否則返回 NULL。
返回的地址是字符串在內(nèi)存中隨機(jī)分配的地址再加上你所搜索的字符在字符串位置。設(shè)字符在字符串中首次出現(xiàn)的位置為 i,那么返回的地址可以理解為 str + i。
提示:如果希望查找某字符在字符串中最后一次出現(xiàn)的位置,可以使用strrchr()函數(shù)。
頭文件:stdio.h sprintf()函數(shù)用于將格式化的數(shù)據(jù)寫入字符串,其原型為: int sprintf(char str, char format [, argument, …]); 【參數(shù)】str為要寫入的字符串;format為格式化字符串,與printf()函數(shù)相同;argument為變量。 除了前兩個參數(shù)類型固定外,后面可以接任意多個參數(shù)。而它的精華,顯然就在第二個參數(shù)–格式化字符串–上。 printf()和sprintf()都使用格式化字符串來指定串的格式,在格式串內(nèi)部使用一些以“%”開頭的格式說明符(format specifications)來占據(jù)一個位置,在后邊的變參列表中提供相應(yīng)的變量,最終函數(shù)就會用相應(yīng)位置的變量來替代那個說明符,產(chǎn)生一個調(diào)用者想要的字符串。 sprintf()最常見的應(yīng)用之一莫過于把整數(shù)打印到字符串中,如: sprintf(s, “%d”, 123); //把整數(shù)123打印成一個字符串保存在s中 sprintf(s, “%8x”, 4567); //小寫16進(jìn)制,寬度占8個位置,右對齊 sprintf的作用是將一個格式化的字符串輸出到一個目的字符串中,而printf是將一個格式化的字符串輸出到屏幕。sprintf的第一個參數(shù)應(yīng)該是目的字符串,如果不指定這個參數(shù),執(zhí)行過程中出現(xiàn) “該程序產(chǎn)生非法操作,即將被關(guān)閉….”的提示。 sprintf()會根據(jù)參數(shù)format 字符串來轉(zhuǎn)換并格式化數(shù)據(jù),然后將結(jié)果復(fù)制到參數(shù)str 所指的字符串?dāng)?shù)組,直到出現(xiàn)字符串結(jié)束(‘/0’)為止。關(guān)于參數(shù)format 字符串的格式請參考printf()。 【返回值】成功則返回參數(shù)str 字符串長度,失敗則返回-1,錯誤原因存于errno 中。
新聞熱點(diǎn)
疑難解答