fgets(),fputs(),字串函式
#include<stdio.h>
#define MAX 81
int main()
{
char name[MAX];
char * ptr;
printf("hi,what is your name?\n");
ptr=fgets(name,MAX,stdin);
printf("%s?Ah !%s! \n",name,ptr);
return 0;
}
/*由於fgets把換行符儲存到字串裡,這樣每次顯示字串時
* 就會顯示換行符
* 執行結果:
* hi,what is your name?
tony
tony
?Ah !tony
! */
scanf()可以支援出入字串,也可以限制輸入的長度如scanf("%5s %10s",name1,name2)
puts()函式只需要給出字串引數的地址,它顯示字串時自動在其後新增一個換行符,要確定輸出的是字串
fputs和fgets()對應,不過需要第二個引數來說明要寫的檔案,可以用stout來作為引數來進行輸出顯示,fgets()儲存輸入中的換行符,而fputs()也不為輸出新增換行符
strlen()函式是求字串的長度的,strcat()函式是連線兩個字串的,將後一和字串連線到前一個字串上,返回值為第一個引數的值
功能:把src所指字串的前n個字元新增到dest結尾處(覆蓋dest結尾處的'\0')並新增'\0'。
說明:src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串,返回指向dest的指標。
strncat原型:extern char *strncat(char *dest,char *src,int n)多的一個功能就是可以複製指定個數的字元
strcpy()函式實現程式碼:
extern char *strcpy(char *dest,const char *src);
把從src地址開始且含有NULL結束符的字串複製到以dest開始的地址空間,其實也就是相當於賦值,類似於a=b,它是字串的賦值;
但是如果實參只是一個字串指標而且未初始化,就會出現錯誤,因為分配的大小不一樣,也就會導致錯誤
#include <stdio.h>
#include <stdlib.h>
char* strcpy(char *s1,const char *s2)//不變的東西一定要加上const
{
int i=0;//char *p=s1,這樣就可以了
while(s2[i]!='\0')//*s2!='\0'
{
s1[i]=s2[i];//*s1++=*s2++;不能這樣做,指標是一直在往後走,因此不能夠實現複製成功,而
i++;
}
s1[i]='\0';
//*s1='\0'
//s1=p;//這個就保證指標同步了,因為指標走到前面,需要回頭才能指向原來的地址
return s1;
}
int main(void)
{
char a[]="hello!";
char b[10];
puts(strcpy(b,a));
printf("%s",strcpy(b,a));
//puts(b);
return 0;
}
strcmp()函式,把兩個字串進行比較,而不是陣列,返回值為int 型別
函式原型:int strncmp(char *str1, char *str2, int maxlen);
此函式功能即比較字元串str1和str2的前maxlen個字元。如果前maxlen位元組完全相等,返回值就=0;在前maxlen位元組比較過程中,如果出現str1[n]與str2[n]不等,則返回(str1[n]-str2[n])。
char *strchr(const char *s ,int c);該函式返回一個指向字串s中存放c的第一個指標的位置
如果不存在就返回null
char *strrchr(const char *s,char c),該函式返回一個指標就是字元c最後一次出現的地方,如果每日有,就返回空指標
char *strpbrk(const char *s1,const char *s2),該函式返回s1中存放s2字串的任何字元的第一個位置,如果沒有,
則返回空指標
相關文章
- 函式fgets和fputs、fread和fwrite、fscanf和fprintf用法小結函式
- PHP4使用者手冊:函式->fputs (轉)PHP函式
- 字串函式之Strtok()函式字串函式
- fgets函式執行完成後,檔案指標如何移動?函式指標
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- 字串函式 fprintf ()字串函式
- 字串函式 htmlentities ()字串函式HTML
- 字串函式 htmlspecialchars ()字串函式HTML
- 字串函式 implode ()字串函式
- 字串函式 explode ()字串函式
- 字串函式 lcfirst ()字串函式
- 字串函式 levenshtein ()字串函式
- 字串函式 ltrim ()字串函式
- 字串函式 metaphone ()字串函式
- 字串函式 print ()字串函式
- Oracle 字串函式Oracle字串函式
- Oracle 字串函式Oracle字串函式
- 字串函式 ord ()字串函式
- PHP字串函式PHP字串函式
- Oracle字串函式Oracle字串函式
- perl字串函式字串函式
- 字串操作函式字串函式
- Sybase字串函式字串函式
- fgets
- MySQL 字串函式:字串擷取MySql字串函式
- PHP 每日一函式 — 字串函式 crypt ()PHP函式字串
- PHP 每日一函式 — 字串函式 chr ()PHP函式字串
- MySQL函式學習(一)-----字串函式MySql函式字串
- T-SQL——函式——字串操作函式SQL函式字串
- oracle函式大全-字串處理函式Oracle函式字串
- python字串函式Python字串函式
- PHP的字串函式PHP字串函式
- 函式和字串排序函式字串排序
- Sql字串操作函式SQL字串函式
- SQL SERVER 字串函式SQLServer字串函式
- oracle字串函式(轉)Oracle字串函式
- MYSQL的字串函式MySql字串函式
- Oracle字串函式--轉Oracle字串函式