字符串操作,用兩個例子來說明。
例程一:付下載)
#include <stdio.h>
#include <string.h>
//打印字符串
void display(char name[],char ch[]);
void main()
{
charch1[40]="hello world";
charch2[40]="I love you";
intlen = 0;
intflag = 0;
charch[10];
display("ch1= " ,ch1);//打印字符串
display("ch2= " ,ch2);//打印字符串
/*********************************求長度函數*******************************/
len= strlen(ch1); //把ch2的數據拷貝到ch1
printf("len= %d \n",len);
/**************************************************************************/
/*********************************比較函數**********************************/
flag= strcmp(ch1,ch2);
printf("flag= %d \n",flag);
/**************************************************************************/
/*********************************截取字符函數*****************************/
//strchr(ch1,'w');//從w開始查找,返回字符串
display("截取的字符串 :" ,strchr(ch1,'w'));//打印字符串
/**************************************************************************/
/*********************************查找字符函數*****************************/
display("查找的字符串 :" ,strstr(ch1,"world"));//打印字符串
/**************************************************************************/
/*********************************截取字符函數*****************************/
//cout<<strpbrk(ch1,"l")<<endl;
display("從l開始截取字符串 :" ,strpbrk(ch1,"l"));//從l開始截取字符串
/**************************************************************************/
printf("在\"he\"中查找屬於ch1集合的元素的個數:%d\n",strspn(ch1,"he"));
/*********************************附加函數**********************************/
strcat(ch1,ch2);//把ch2的數據拷貝到ch1
display("ch1= " ,ch1);//打印字符串
/****************************************************************************/
/*********************************拷貝函數************************************/
strcpy(ch1,ch2);//把ch2的數據拷貝到ch1
display("ch1= " ,ch1);//打印字符串
/****************************************************************************/
}
//打印字符串
void display(char name[],char ch[])
{
char*p,*q;
p=ch;
q=name;
//先打印name
while(*q!='\0')
{
printf("%c",*q++);
}
//再打印ch
while(*p!='\0')
{
printf("%c",*p++);
}
//換行
printf("\n");
}
例程二:付下載)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
void main()
{
charch1[]="4.56";
intinter;
floatflo;
doubledou;
inter= atoi(ch1);//字符串轉換為整型,並取整
printf("inter= %d \n",inter);
flo= atof(ch1);//字符串轉換為float
printf("flo= %f \n",flo);
dou= atof(ch1);//字符串轉換為double
printf("dou= %lf \n",dou);
if(isalpha('a'))//檢查是否為字母字符
{
printf("是字母\n");
}
if(isupper('A'))//檢查是否為大寫字母字符
{
printf("是大寫字母\n");
}
if(islower('a'))//檢查是否為小寫字母字符
{
printf("是小寫字母\n");
}
if(isdigit('5'))//檢查字符是否為數字
{
printf("字符是數字\n");
}
if(isxdigit(0x34))//檢查是否為十六進制數字表示的有效字符
{
printf("是十六進制有效字符\n");
}
if(isspace(' '))//檢查是否為空格類型字符
{
printf("是空格類型字符\n");
}
printf("%x:%s\n",0x0a,iscntrl(0x0d)?"yes":"no");//檢查是否為控制字符
if(ispunct(','))//檢查是否為標點符號
{
printf("是標點\n");
}
if(isalnum('4g'))//檢查是否為字母和數字
{
printf("是字母和數字\n");
}
if(isprint('d'))//檢查是否是可打印字符
{
printf("是可以打印的字符\n");
}
if(isgraph('s'))// 檢查是否是圖形字符,等效於 isalnum() | ispunct()
{
printf("是圖形字符\n");
}
}
本文出自 “我是車手-MyWay” 博客,請務必保留此出處http://dragonyeah.blog.51cto.com/7022634/1284392