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) ...
随机推荐
- 找不到提交和更新按钮,subversion不见了,无法更新和上传代码
1.查看settings/plugins/下有没有subversion 插件,如果有,确保勾上. 2.VCS->Enable Version Control Integration...
- Centos镜像使用帮助
https://lug.ustc.edu.cn/wiki/mirrors/help/centos
- python如何获取某模块的版本信息
1)module.__version__ 2)用dir(module)查看有没有版本信息 3)help(module)
- Java用Scanner类获取用户输入
用Java编写程序时,有些数据需要用户输入,这个时候需要调用java提供的Scanner类,这个类在包java.util下,比如求一个矩形的面积,简单的看一下用法: import java.util. ...
- Ubuntu及Windows ADB设备no permissions的解决方案
不少人曾在Windows下及Ubuntu下都遇到过Android设备无法识别的情况,就是run as Android Application的时候,target显示"??????" ...
- [Android Pro] 内容提供者ContentProvider的基本使用
一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.ContentProvider为存储和获取数据提 ...
- android 获取资源文件 r.drawable中的图片转换为drawable、bitmap
1.R-Drawable Resources resources = mContext.getResources(); Drawable drawable = resources.getDrawabl ...
- Android手势锁实现
最终效果如下 整体思路 a.自定义了一个RelativeLayout(GestureLockViewGroup)在里面会根据传入的每行的个数,生成多个GestureLockView(就是上面一个个小圈 ...
- setup 桌面化设置网卡
# setup
- Phoenix实现用SQL查询HBase
博客已转移,请借一步说话,http://www.weixuehao.com/archives/111 HBase,一个NoSQL数据库,可存储大量非关系型数据. HBase,可以用HBase shel ...