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) ...
随机推荐
- 在Shell里面判断字符串是否为空
在Shell里面判断字符串是否为空 分类: Linux shell2011-12-28 23:18 15371人阅读 评论(0) 收藏 举报 shell 主要有以下几种方法: echo “$str” ...
- ICMP-type对应表
一次在某个防火墙配置策略里看到如下的代码: iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT iptables -A FORWARD -p icmp ...
- .Net Attribute特性
1.什么是Atrribute 首先,我们肯定Attribute是一个类,下面是msdn文档对它的描述: 公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标 ...
- N-Queens | & N-Queens II
The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...
- Android Volley获取json格式的数据
为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和j ...
- MySQL自带information_schema数据库使用
MySQL的information_schema数据库是什么,有什么作用? 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个 information_schema数据库.info ...
- windows 说“我爱你”
CreateObject("SAPI.SpVoice").Speak "I love YOU" 保存vbs
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
- opencv学习笔记(六)直方图比较图片相似度
opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...
- js 实现单行文本滚动效果
js 代码如下: /***************滚动场次开始*****************/ function ScrollText(content, btnPrevious, btnNext, ...