字符串常用函數(shù)一#include <stdio.h>
#include <string.h>
int main()
{
char *str="字符串常用函數(shù)";
puts(str); //打印 自動換行
printf("%s\n",str);
//char pstr[128]={'\0'}; //1.申請空間 2.初始化:把每個元素都初始化為'\0' 3.等于下面三句話
char *pstr=NULL; //1.野指針,,造成非法內(nèi)存訪問,會出現(xiàn)段錯誤,,cmd窗口閃退
pstr=(char *)malloc(128); //2.申請空間 一但用了malloc就要注意內(nèi)存泄漏問題 malloc可能會失敗,,要對返回值做判斷
if(pstr==NULL){
printf("申請內(nèi)存失敗\n");
exit(-1);
}
memset(pstr,'\0',128); //3.初始化:把每個元素都初始化為'\0', 對象開頭,,字符,,多大
printf("請輸入字符串:\n");
//scanf("%s",pstr);
gets(pstr);
puts(pstr);
return 0;
} 字符串常用函數(shù)二#include <stdio.h>
#include <string.h>
int main()
{
//char *strcpy(char* dest, const char *src);
//char strDest[128]={'\0'};
char *strDest;
strDest=(char *)malloc(128);
memset(strDest,'\0',128);
char *strSrc="帥帥帥帥帥";//指針或數(shù)組
strcpy(strDest,strSrc);
printf("復(fù)制完畢:%s\n",strDest) ;
memset(strDest,'\0',sizeof(strDest)/sizeof(strDest[0]));//數(shù)組可用這個
strcpy(strDest,"wsdsg");
puts(strDest);
memset(strDest,'\0',sizeof(strDest)/sizeof(strDest[0]));
strncpy(strDest,"wsdsg",3); //char *strncpy(char *destinin, char *source, int maxlen);
puts(strDest);
char test[128]="全宇宙最帥的是 ";
strcat(test,strSrc); //追加
puts(test);
char *str1="3";
char *str2="1234";
int ret=strcmp(str1,str2); //比較 =0 > <-
printf("ret=%d\n",ret);
return 0;
} 字符串常用函數(shù)三#include <stdio.h>
#include <string.h>
/*
函數(shù)原型
char *strchr(const char *str, char c)
參數(shù)
str-- 要被檢索的 C 字符串。
c-- 在 str 中要搜索的字符,。
功能
在參數(shù)str所指向的字符串中搜索第一次出現(xiàn)字符c(一個無符號字符)的位置,。
返回值
返回一個指向該字符串中第一次出現(xiàn)的字符的指針,,如果字符串中不包含該字符則返回NULL空指針。 [2]
頭文件
#include <string.h>
*/
/*
strstr()函數(shù)頭文件:
#include <string.h>
strstr()函數(shù)用來檢索子串在字符串中首次出現(xiàn)的位置,,其原型為:
char *strstr( char *str, char * substr );
函數(shù)參數(shù):
str參數(shù)為要檢索的字符串,,
substr參數(shù)為要檢索的子串。
函數(shù)返回值:
返回字符串str中第一次出現(xiàn)子串substr的地址,;如果沒有檢索到子串,,則返回NULL。
*/
int main()
{
char str[]="qwertyuiop";//指針改數(shù)組了
char c='t';
char *p=NULL;
p=strchr(str,c);
if(p==NULL){
printf("沒找到\n");
}else{
printf("找到\n");
puts(p);
}
char substr[]="ui";//指針改數(shù)組了
p=strstr(str,substr);
if(p==NULL){
printf("沒找到\n");
}else{
printf("找到\n");
puts(p);
}
char str1[]="Hello Word";//Windows環(huán)境下 要定義成數(shù)組形態(tài),,否則崩潰,, Linux環(huán)境下是可以指針的
puts(strlwr(str1));//小寫
puts(strupr(str1));//大寫
//strtok:字符串分割,char *strtok(char *strings,const char *tokseps); qwe,asd,zxc
char str2[]="qwe,asd,zxc";
char *psubs[10];
int t=2;
p=strtok(str2,",");
if(p!=NULL){
//printf("獲取到的第1個串p=%s\n",p);
psubs[t-2]=p;
}
while(1){
p=strtok(NULL,",");//后面必須NULL,奇葩喔
if(p!=NULL){
//printf("獲取到的第%d個串p=%s\n",t ,p);
t ;
psubs[t-2]=p;
}else{
//printf("沒有子串了,!\n");
break;
}
}
int i;
for(i=0;i<t-1;i ){
puts(psubs[i]);
}
return 0;
} 來源:https://www./content-4-792951.html
|