常见的C库函数
首先,在vs环境下,scanf不安全,需要在最前面加上
#define _CRT_SECURE_NO_WARNINGS
来自 <https://tieba.baidu.com/p/4338611069>
这句话,以保证scanf安全,也可以使用新标准scanf_s。
一、strxxx
1.strcpy
字符串拷贝
2.strncpy
指定的N个字符拷贝,在库里没有指定大的字符串赋给小的空间的控制,需要程序员自己来控制拷贝算法。
3.strlen
计算字符串长度。
4.strstr
指向字符串的部分字符或者字符串。
返回的是要找的字符位置或者字符串的首个字符位置。
可以配合strcpy(strncpy)将指定的字符替换成其他的字符。
5.strchr
寻找字符串中特定字符出现的所有位置。
6.strcat
追加字符串。
7.strcmp
字符串比较
返回0是equal相等的。
str带头的函数可以处理字符串,遇到NULL(\0)就会停止操作,而mem带头的函数则不用,但是它需要指定复制值的长度,以字节计算;
来自 <http://blog.csdn.net/zhang_yin_liang/article/details/52300994>
二、memxxx
1、memomve
(1)可以对字符串进行添加指定的字符,或者在字符串的指定的位置添加字符串的指定字符,也可以对部分字符串删除,要考虑溢出问题,如果是添加,就要小心溢出。
(2)类似strncpy,可以进行字符串拷贝。
2、memcpy
字符串拷贝函数,需要指定拷贝字节数。
3、memcmp
字符串比较函数,需要指定比较的字节数,可以指定比较的范围,也可以比较两个单独的字符串,返回值是1、-1、0,如果参数中dst字符串比src字符串长返回1,反之返回-1,相等返回0。
4.memchr
寻找字符的是否存在,并返回位置。
返回的是指针,位置是指针减去原字符串的地址+1;
5.memset
替换一定字节数的字符,需指定字节数。