?? linux 常用c函數(中文版)-內存控制及字符串操作.htm
字號:
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#include<string.h><BR>main()<BR>{<BR>char
a[30]="string(1)";<BR>char b[]="string(2)";<BR>printf("before strcpy()
:%s\n",a);<BR>printf("after strcpy()
:%s\n",strcpy(a,b));<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>before strcpy() :string(1)<BR>after
strcpy() :string(2)<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc58></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2><BR>strcspn(返回字符串中連續不含指定字符串內容的字符數)
</FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>strspn<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#inclued<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>size_t strcspn ( const char *s,const
char * reject);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>strcspn()從參數s字符串的開頭計算連續的字符,而這些字符都完全不在參數reject
所指的字符串中。簡單地說,若strcspn()返回的數值為n,則代表字符串s開頭連續有n個字符都不含字符串reject內的字符。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>返回字符串s開頭連續不含字符串reject內的字符數目。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>#include
<string.h><BR>main()<BR>{<BR>char *str="Linux was first developed
for 386/486-based pcs.";<BR>printf("%d\n",strcspn(str,"
"));<BR>printf("%d\n",strcspn(str,"/-"));<BR>printf("%d\n",strcspn(str,"1234567890"));<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>5 /*只計算到“ ”的出現,所以返回“Linux”的長度*/<BR>33
/*計算到出現“/”或“-”,所以返回到“6”的長度*/<BR>30 /*
計算到出現數字字符為止,所以返回“3”出現前的長度*/<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc59></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2><BR>strdup(復制字符串) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>calloc,malloc,realloc,free<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>char * strdup( const char
*s);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>strdup()會先用maolloc()配置與參數s字符串相同的空間大小,然后將參數s字符串的內容復制到該內存地址,然后把該地址返回。該地址最后可以利用free()來釋放。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>返回一字符串指針,該指針指向復制后的新字符串地址。若返回NULL表示內存不足。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#include<string.h><BR>main()<BR>{<BR>char
a[]="strdup";<BR>char *b;<BR>b=strdup(a);<BR>printf("b[
]=\"%s\"\n",b);<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>b[ ]="strdup"<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc60></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2><BR>strlen(返回字符串長度) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>size_t strlen (const char
*s);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>strlen()用來計算指定的字符串s的長度,不包括結束字符"\0"。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>返回字符串s的字符數。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>/*取得字符串str的長度*/<BR>#include<string.h><BR>main()<BR>{<BR>char
*str = "12345678";<BR>printf("str length = %d\n",
strlen(str));<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>str length = 8<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc61></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2><BR>strncasecmp(忽略大小寫比較字符串)
</FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>bcmp,memcmp,strcmp,strcoll,strncmp<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>int strncasecmp(const char *s1,const
char *s2,size_t n);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>strncasecmp()用來比較參數s1和s2字符串前n個字符,比較時會自動忽略大小寫的差異。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>若參數s1和s2 字符串相同則返回0。s1
若大于s2則返回大于0的值,s1若小于s2則返回小于0 的值。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#include<string.h><BR>main()<BR>{<BR>char
*a="aBcDeF";<BR>char *b="AbCdEf";<BR>if(!strncasecmp(a,b))<BR>printf("%s
=%s\n",a,b);<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>aBcDef=AbCdEf<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc62></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2><BR>strncat(連接兩字符串) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>bcopy,memccpy,memecpy,strcpy,strncpy<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>#inclue
<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>char * strncat(char *dest,const char
*src,size_t n);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數說明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>strncat()會將參數src字符串拷貝n個字符到參數dest所指的字符串尾。第一個參數dest要有足夠的空間來容納要拷貝的字符串。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>返回參數dest的字符串起始地址。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>#include
<string.h><BR>main()<BR>{<BR>char a[30]="string(1)";<BR>char
b[]="string(2)";<BR>printf("before strnact() :%s\n", a);<BR>printf("after
strncat() :%s\n", strncat(a,b,6));<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>執行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>before strnact() : string(1)<BR>after
strncat() : string(1) string<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc63></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2><BR>strncpy(拷貝字符串) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>bcopy,memccpy,memcpy,memmove<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋體 size=2>char * strncpy(char *dest,const char
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -