c语言字符串操作,及常用函数
一,字符串操作
1 . strcpy : 拷贝
char *stpcpy(char *destin, char *source);
2 . strcat : 拼接
char *strcat(char *destin, char *source);
3 . strchr : 查找第一个字符匹配
char *strchr(char *str, char c);
strrchr : 查找最后一个匹配
char *strrchr(char *str, char c);
strstr : 查找第一个匹配字符串
char *strstr(const char *haystack, const char * needle);
4 . strcmp : 比较
int strcmp(char *str1, char *str2);
看Asic码,str1>str2,返回值 > 0;两串相等,返回0
strncasecmp : 忽略大小写比较前n个
int strncasecmp(const char *s1, const char *s2, size_t n);
5 . strdup : 将串拷贝到新建的位置处
char *strdup(char *str);
#include <stdio.h>
#include <string.h>
#include <alloc.h> int main(void)
{ char *dup_str, *string = "abcde"; dup_str = strdup(string);
printf("%s\n", dup_str);
free(dup_str); return ; }
6 . strtok : 分隔
char * strtok(char *s, const char *delim);
int in=0;
char buffer[INFO_MAX_SZ]="Fred male 25,John male 62,Anna female 16";
char *p[20];
char *buf=buffer;
char *outer_ptr=NULL;
char *inner_ptr=NULL;
while((p[in] = strtok_r(buf, ",", &outer_ptr))!=NULL) {
buf=p[in];
while((p[in]=strtok_r(buf, " ", &inner_ptr))!=NULL){
in++;
buf=NULL;
}
buf=NULL;
}
printf("Here we have %d strings/n",in);
for (int j=0; j<in; j++) {
printf(">%s</n",p[j]);
}
7 . swab : 交换字符串n位
void swab (char *from, char *to, int nbytes);
二,转换数值类型
1 . strtod : 从字符串 中转换 double 类型数值,并将后续的字符串指针存储到 end 指向的 char* 类型存储。
double strtod(const char *nptr, char **endptr);
float strtof(const char *nptr, char **endptr);
2 . atoi(p) 字符串转换到 int 整型
atof(p) 字符串转换到 double 符点数
atol(p) 字符串转换到 long 整型
#include <stdlib.h>
int atoi(const char *nptr);
long atol(const char *nptr);
double atof(const char *nptr);
三,字符检查
int isalpha(int c) 检查是否为字母字符
isupper() 检查是否为大写字母字符
islower() 检查是否为小写字母字符
isdigit() 检查是否为数字
isxdigit() 检查是否为十六进制数字表示的有效字符
isspace() 检查是否为空格类型字符
iscntrl() 检查是否为控制字符
ispunct() 检查是否为标点符号
isalnum() 检查是否为字母和数字
isprint() 检查是否是可打印字符
isgraph() 检查是否是图形字符,等效于 isalnum() | ispunct()
四,scanf
1 . sscanf : 从一个字符串中读进与指定格式相符的数据
int sscanf(const char *str, const char *format, ...);
sscanf("1 2 3","%d %d %d",buf1, buf2, buf3);
2 . sprintf : 把格式化的数据写入某个字符串缓冲区。
int sprintf( char *buffer, const char *format, [ argument] … );
五,mem
1 . memcpy : memcpy中dest和source中的区域不能重叠
void *memcpy(void *dest, const void *source, size_t count);
2 . memmove : 如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。
void *memmove(void *dest, const void *source, size_t count)
**memcpy和memmove的区别
http://blog.chinaunix.net/uid-22780578-id-3346391.html
3 . memcmp : 比较内存区域buf1和buf2的前count个字节。
int memcmp(const void *s1, const void *s2, size_t n);
4 . mmap :
void* mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset);
int munmap(void* start,size_t length);
port :
flags :
c语言字符串操作,及常用函数的更多相关文章
- C语言字符串操作常用库函数
C语言字符串操作常用库函数 *********************************************************************************** 函数 ...
- 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...
- C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
原文:http://www.cnblogs.com/JCSU/articles/1305401.html C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. ...
- C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat( ...
- c语言字符串操作大全
C语言字符串操作函数 函数名: strcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #incl ...
- 1. python 字符串简介与常用函数
1. python中的字符串简介与常用函数 在python中,字符串变成了一个强大的处理工具集,他是不可变的,也就是说字符串包含字符与字符的顺序,他不可以原处修改 字符串是我们后面需要学习的稍大一点的 ...
- 零基础学习C语言字符串操作总结大全
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...
- C语言字符串操作函数整理
整理C语言字符串相关的函数,以程序方式验证,以注释方式做说明. #include<stdio.h> #include<string.h> #include<stdlib. ...
- C语言 字符串操作 笔记
/* C语言字符串的操作笔记 使用代码和注释结合方式记录 */ # include <stdio.h> # include <string.h> int main(void) ...
随机推荐
- less,sass,stylus配置和应用教程及三者比较
less,sass,stylus配置和应用教程及三者比较 Less 1. 定义: Less是CSS预处理语言,在css基础之上增加了诸如变量,混合(mix),继承,运算,函数等功能,LESS既可以运 ...
- boa服务器make错误
参考: http://zhouyang340.blog.163.com/blog/static/3024095920121187544204/ http://blog.csdn.net/hongjiu ...
- Fastreport使用经验(转)在Delphi程序中访问报表对象
Fastreport使用经验(转) 在Delphi程序中访问报表对象 最基本的方法就是frxReport1.FindObject. 然后把返回的对象强制转换成它的类型,当然,在报表中必须真的有这么个东 ...
- jQuery工具函数
要点:1.字符串操作2.数组和对象操作3.测试操作4.URL 操作5.浏览器检测6.其他操作 工具函数是指直接依附于 jQuery 对象,针对 jQuery 对象本身定义的方法,即全局性的函数.它的作 ...
- unsatisfied类型的异常
一般为libs包下arm64-v8a,armeabi,armeabi-v7a,mips,mips64,x86,x86_64等文件夹下的.so文件丢失. 一般情况,armeabi下的so文件需要拷贝一份 ...
- Android与后台数据交互学习
摘要 任何系统在没有用户登录就可操作数据是非常危险的,链接客户端与服务器的是用户登录后的session,用户登录系 统后存在一个sessionid,这个sessionid就是客户端的cookie,客户 ...
- MySQL和PHP基础考试错题回顾
13.关于exit( )与die( )的说法正确的是( B) C A.当exit( )函数执行会停止执行下面的脚本,而die()无法做到 B.当die()函数执行会停止执行下面的脚本,而exit( ) ...
- telnet 测试端口是否打开
[root@mysqld ~]# yum list |grep telnet telnet.x86_64 1:0.17-48.el6 @base telnet-server.x86_64 1:0.17 ...
- hdu 4578 线段树 ****
链接:点我 1
- SURF算法与源码分析、下
上一篇文章 SURF算法与源码分析.上 中主要分析的是SURF特征点定位的算法原理与相关OpenCV中的源码分析,这篇文章接着上篇文章对已经定位到的SURF特征点进行特征描述.这一步至关重要,这是SU ...