strchr:
// strchr
#include char *strchr(const char *s, int c) }
return (char *)s;
}int main( int argc, char **argv )
1、當傳入的指標是null時,函式中是沒有檢查的。
char *strchr(const char *s, int c)
上面的程式是錯的,就是因為當查詢的是'\0'時,它認為是到達了字串尾,卻沒想到'\0'使while的兩個條件同時為假了!這種錯誤得注意。所以應改為:
char *strchr(const char *s, int c)
必須先測試是不是找到了c。 庫函式原始碼剖析系列 1 strcpy
if語句,while語句。第一篇就以許多公司喜歡面試的一道題開始吧 strcpy的實現 為了區別,函式名首字母大寫,以後都是 strcpy include char strcpy char dest,const char src int main int argc,char ar 1 strcpy返...
glibc fread函式原始碼剖析
最近看apue,看到了fread函式,就把之前想分析的乙個函式借這個機會研究一下。先寫個程式,呼叫一下fread函式。include int main 好了,還是咱們的老套路,通過gdb可以直接定位到fread的原始碼,原始碼如下,位於.libio iofread.c。io size t io fr...
Select函式原始碼剖析
select是最基礎的io復用函式,對於其實現,做了一定的了解,記錄如下 原始碼一進來就可以發現,它的事件是通過巨集來實現的 define fds in fds,n fds in n 讀事件 define fds out fds,n fds out n 寫事件 define fds ex fds,n...