字符串专题
来源:互联网 发布:linux route删除路由 编辑:程序博客网 时间:2024/06/05 07:12
字符串
字符与字符串的区别在于字符串的末尾是’\0’
Printf()函数默认以C风格输出
string 是只读属性
拷贝复制模型
Void(char*from, char *to)//++的优先级比×高
{
While((*from++ = *to++) &&!= ‘\0’ )
{
}
}
语法越界【错误模型】
Charbuf [ 3 ] = “abc”;
不断修改指针变量的值【错误模型】
Char*getKeyByValude(char **keyvaluebuf,char *keybuf)
{
Inti = 0;
Char*a= (char*)malloc(50);
Printf(“%x”,a); //打印a的地址
For( ; **keyvaluebuf != ‘\0’ )
{
*a++= *(*keyvaluebuf)++; //不断改变a所指向的内存首地址指向的内存的值,此时的a已经不是原先的那个a了,而是下移到后面去了
}
Free(a); //真实释放的不是原先的那个a,而是后来下移的那个a,程序会当机。
}
解决方案
//可以定义一个辅助指针变量char*a1; a1 = a;
Strstr(源字符串,”需要查找的字符串”)
返回的是一个地址,需要查找的字符串第一次出现的地址,要使用指针接收该地址
Strchr(源字符串,‘需要查找的字符’)注意与strstr的相同指出与区别
从源字符串中寻找制定字符串的框架
Intcount = 0;
Char*sub = “abcd”;
Char*p = “abc111abc22222abcqqqq”;
Char*p2 =NULL; //辅助指针
Do
{
P= strstr(p , sub)
If(p !=NULL )
{
Count++;
P= p + strlen(sub);
}
Else
{
Break;
}
}while(*p != ‘\0’);
Printf(“count: %d \n”,count);
函数库中字符串函数原型
Void*memcpy(void *, const void *,size_t);
Int mencmp(const void *,const void *,size_t);
Void*memset(void *,int ,size_t);
Char*_strset(char *,int);
Char*strcpy(char *p1,const char *p3);
Char*strcat(char *,const char *);
Intstrcmp(const char *,const char *);
Size_tstrlen(const char *);
两头堵模型
inttrimSpace(char *inbuf,char *outbuf)
{
char*p
inti;
intj;
intcount;
count= 0;
i= 0;
j= strlen(inbuf)-1;
p= inbuf;
while(isspace(p[i]) && p[i] != '0')
{
i++;
}
while(isspace(p[j]) && p[j] != '0')
{
j--;
}
printf("%c\n",p[i]);
printf("%c\n",p[j]);
memcpy(outbuf,p+i,j-i+1);
outbuf[j-i+1]= '\0';
printf("%s\n",outbuf);
return0;
}
字符串反置模型
voidstring_trun(char *abc, char *cba)
{
char*p;
chartem;
intlen;
inti;
i= 0;
len= strlen(abc)-1;
p = abc;
while(len>i)
{
tem= p[i];
p[i]= p[len];
p[len]= tem;
i++;
len--;
}
printf("%s\n",p);
memcpy(cba,p,strlen(p));
cba[strlen(p)-2]= '\0';
}
特别说明: char*p定义的是一个指针
Chara[ ] = “sssssss”定义的是一个数组
P=a p指向数组a的 首地址
- 字符串专题
- 字符串专题
- 字符串专题
- 字符串专题
- 专题:字符串
- 字符串专题
- 字符串专题
- PHP 截取字符串专题
- PHP 截取字符串专题
- PHP 截取字符串专题
- PHP 截取字符串专题
- PHP 截取字符串专题
- 面试题目 字符串专题
- PHP 截取字符串专题
- js字符串处理专题
- PHP 截取字符串专题
- 【面试】字符串专题
- 面试题目 字符串专题
- Android AIDL bindService后不能调用onServiceConnected方法(一种情况)
- EJB3.0学习之Jboss安装和配置
- glsurfaceview 和 open gl
- "The harder I work, the luckier I get." - Samuel Goldwyn
- Tolua++ 实现分析
- 字符串专题
- 纠结的QList 排序
- poj 1064 Cable master(二分水)
- POJ 2987 Firing(最大权闭合)
- 用smarthosts访问服务器官网
- VirtualBox安装Linux,再按装增强功能的时候报错处理
- 例2. 修改一条记录并显示
- S5PV210中断体系
- linux系统V4L2架构OV3640摄像头视频捕获保存图片jpg格式