#include <string.h>
1 _memccpy
2 _memicmp
3 _strlwr
4 _strrev
5 _strset
6 _strupr
7 memccpy
8 memchr
9 memcpy
10 memicmp
11 memset
12 strcasestr
13 strchr
14 strncat
15 strncmp
16 strncpy
17 strrchr
18 strstr
19 strtok
1 _memccpy
如果(第2个参数)src中,没有(第3个参数)字符c,也就等价于memcpy
从(第2个参数)src字符串中读取(第4个参数)count个字符,复制到(第1个参数)dest
某些时候,可以把某个字符设置为结束符,代表结束。
原型
extern void *memccpy(void *dest, void *src, unsigned char c, unsigned int count);
简介
参数:
dest Pointer to the destination.
src Pointer to the source.
c Last character to copy.
count Number of characters.
头文件:string.h :
由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符c则停止复制。
返回值:如果c没有被复制,则返回NULL,否则,返回字符c 后面紧挨一个字符位置的指针。
2 _memicmp
3 _strlwr
功能:将字符串s转换为小写形式
说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
4 _strrev
颠倒字符串s的所有字符的顺序
5 _strset
原型:extern char *strset(char *s, char c);
用法:#include <string.h>
功能:把字符串s中的所有字符都设置成字符c。
说明:返回指向s的指针。
6 _strupr
strupr,函数的一种,将字符串s转换为大写形式。
说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。
7 memccpy
原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count);
用法:#include <string.h>
功能:由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。
说明:返回指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL。ch被复制。
8 memchr
原型:extern void *memchr(void *buf, char ch, unsigned count);
用法:#include <string.h>
功能:从buf所指内存区域的前count个字节查找字符ch。
说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。
9 memcpy
void *memcpy(void *dest, const void *src, size_t n);
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
也适用于数组
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
int a[] = { ,,,, }; int b[] = { ,,,, }; int i; memcpy(a, b, );//每个元素4个字节,2个元素8个字节 for (i = ;i < ;i++)
{
printf("%d\n", a[i]);
} system("pause");
}
10 memicmp
原型:extern int memicmp(void *buf1, void *buf2, unsigned int count);
用法:#include <string.h>
功能:比较内存区域buf1和buf2的前count个字节但不区分字母的大小写。
说明:memicmp同memcmp的唯一区别是memicmp不区分大小写字母。 当buf1<buf2时,返回值<0 当buf1=buf2时,返回值=0 当buf1>buf2时,返回值>0
11 memset
void *memset(void *s, int ch, size_t n);
函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。
memset(str, '\0', strlen(str));快速清空
//第1个参数是内存的首地址
//第2个参数是要设置的字符
//第3个参数是整数,从首地址开始前进多少个字节,把这一段设置为第2个参数的字符
12 strcasestr
char *strcasestr(const char *haystack, const char *needle);
用于在c串haystack中查找c串needle,忽略大小写。如果找到则返回needle串在haystack串中第一次出现的位置的char指针
13 strchr
strchr函数原型:extern char *strchr(const char *s,char c);查找字符串s中首次出现字符c的位置。
14 strncat
(char *dest,char *src,int n);
把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0'),再追加'\0'。
15 strncmp
int strncmp ( const char * str1, const char * str2, size_t num );
strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则依次比较str1和str2的前n位,设i(i<n)为两字符串首次的不同位,则返回(str1[i]-str2[i])。
16 strncpy
strncpy 是 C语言的库函数之一,来自 C语言标准库,定义于 string.h,char *strncpy(char *dest, const char *src, int n),把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest。
格式
函数原型char*strncpy(char*dest,char*src,size_tn);
17 strrchr
函数名称: strrchr
函数原型:char *strrchr(const char *str, char c);
所属库: string.h
函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回这个位置的地址。如果未能找到指定字符,那么函数将返回NULL。使用这个地址返回从最后一个字符c到str末尾的字符串。
相关函数: strchr
18 strstr
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
19 strtok
分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。
原型
char *strtok(char s[], const char *delim);
功能
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多。
strtok 的函数原型为char *strtok(char *s, char *delim),功能为“Parse S into tokens separated by characters in DELIM.If S is NULL, the saved pointer in SAVE_PTR is used as the next starting point. ” 翻译成汉语就是:作用于字符串s,以包含在delim中的字符为分界符,将s切分成一个个子串;如果,s为空值NULL,则函数保存的指针 SAVE_PTR在下一次调用中将作为起始位置。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h> void main()
{
char str[];
int a[];
char *p = NULL;
int i = ;
int j = ;
int sum = ;
double avg = ; gets(str);//输入一连串数字,以空格为间隔 p = strtok(str, " ");//分割字符串,以空格" "为间隔 while (p)
{
a[i] = atoi(p);//字符串转换为整数
p = strtok(NULL, " ");//之后再次调用要把s设成NULL
i++;//下标增加
} for (j = ; j < i; j++)
{
printf("a[%d]=%d\n", j, a[j]);//循环打印
sum += a[j];//求和
} avg = 1.0*sum / i;//平均值 printf("和是%d,平均值是%lf\n", sum, avg); system("pause");
}
#include <string.h>的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include
问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...
- error RC1015: cannot open include file 'afxres.h' 解决办法
在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...
- Mybatis常用总结:参数,返回,执行sql,include等
1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- JSP中编译指令include与动作指令include的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...
- C/C++ 中的include
当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...
- 织梦多语言站点,{dede:include filename=''/}引入问题
织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...
- PHP 站点相对包含,路径的问题解决方法(include,require)
以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...
- 如何让include标签包裹的布局置于屏幕最下方?
如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性 a ...
随机推荐
- SQL Server 对dbcc checkdb的优化
方法 1. 在运行dbcc checkdb前对数据库进行快照(事务是一致的),dbcc 对快照进行检测,dbcc完成后删除快照. 做快照的目的是为了不要让dbcc 申请太多的锁,从这里可以看出dbcc ...
- Git学习01 --git add, git commit , git log ,git status, git reset --hard, head
Git官方提供的快速入门教程:https://try.github.io/levels/1/challenges/1 特点:Git极其强大的分支管理:分布式版本 集中式版本控制系统,版本库是集中存放在 ...
- table的样式定义
table的cellpadding和cellpadding我们经常会用如下的方式来清除默认样式: <table cellspacing="0" cellpadding=&qu ...
- delphi代码实现创建dump文件
I used a "watchdog" thread for this, which checks if the mainform is responding, and make ...
- bash 学习笔记(一)
尽量使用printf而不要用echo(echo再不同情况下语义不同) 整数%d,小数后6位%f,科学计数法 %e,16进制 %x 宽度限制 %8s %-15s 正数朝右对齐 负数朝左对齐:%04d\n ...
- 演示如何通过 web api 上传文件MVC40
演示如何通过 web api 上传文件WebApiWebFormHost/UploadFileController.cs /* * 通过 web api 上传文件 */ using System; u ...
- string.Format组合跳转路径
string url = this.ResolveClientUrl("~/page/bn_stu.aspx"); string str = string.Format(" ...
- 比较好用的sql语句
判断a表中有而b表中没有的记录 select a.* from tbl1 a left join tbl2 b on a.key = b.key where b.key is null 虽然使用in也 ...
- AjaxHelper学习,ajax,microsoft,mvc,asp.net
index.cshtml @using (Ajax.BeginForm("ContentAjax", new AjaxOptions { UpdateTargetId = &quo ...
- Android开发环境的搭建之(四)虚拟设备AVD的基本配置
配置Android系统语言包为中文简体.点击导航栏左数第二个“菜单”图标 选择“System settings”. 选择“Language & Input” 选择“Language” 选择“中 ...