c语音进阶
字符函数和字符串函数字符分类函数表达式为真 返回非0整数为假返回0字符转换函数如果不是需要的字母 则不改变字符串函数(头文件都是 string.h) strlen(计算字符串)string length长度**返回值 size_t(无符号整型 内存中以补码计算) 类型 接收 char* 指针(就是地址) **字符串必须包含\0 返回值是字符串长度strcpy(拷贝字符串)string copy复制char* 返回的是目标空间首地址接收 char* 目标空间 和char* 类型的源头数据源字符串必须有\0为结束标志目标空间需要足够大必须可以修改*P“ad”常量字符串不可修改strncpy按位拷贝用法与strcpy一致 但是可以控制拷贝的字符个数源字符串不强求 \0 但是不会自动加\0,如果源字符串字符不够 就补\0strcat(末尾追加字符串)string concatenate连接、拼接char* 返回的是目标空间首地址接收 char* 目标空间 和 char* 类型的源头数据源字符串必须有\0为结束标志目标空间需要足够大必须可以修改*P“ad”常量字符串不可修改strncat用法和strcat一致但是可以控制追加的字符个数源字符串不强求\0 会自动在末尾加\0如果源字符串不够也不会补\0strcmp字符串比较string compare比较当str1str2 返回0当str1str2 返回0当str1str2 返回0接收两个字符串 按位比较 当前ascll码值相等比下一个直到“不同”或者“结束”strncmp用法和strcmp一样 但是可以控制最多比较字符的个数比较时会灵活一些strstr查找字符串里的字符串string string 字符串char*是返回找到字符串的首地址接收char*被查找字符串接收char*要查找字符串查找不到字符串时 返回NULLstrtok 分割字符串string token标点符号char*返回当前分割字符串的首地址没有更多子字符串时 返回NULL首次调用传地址和分隔符 后续调用传NULL和分隔符strerror输出错误消息string error错误把系统错误码转换成人能看懂的错误文本字符串接收一个整型再将对应的错误信息首地址存放到errno全局变量头文件errno.hperrorperrorprintfstrerrorc语言内存函数string.h 头文件memcpy内存块拷贝memory copy内存 拷贝void* 返回目标首地址接收void* 目标地址接收void* 传输地址接收size_t 个拷贝字节数量memcpy拷贝地址 不关注内容 如果地址有重叠 结果未定义memmove 内存拷贝memory move内存 移动用法和memcpy一致 但是可以拷贝内存重叠memcpy只考了其中一种可能memset 内存设置memory sat 设置void* 返回目标地址首地址void接收要设置的内存空间int 接收要设置的值会强转为 unsigned char数据进行设置size_t 接收要设置的内存空间*如果想用于整形数组设置值 只能用于置0因为他是以字节为单位设置 整形是四个字节 得出数字会很大