字符串处理C函数总结
来源:互联网 发布:字库制作软件 编辑:程序博客网 时间:2024/05/22 10:31
1. sizeof 只能用来获取数组占用的字节数
wchar_t buf[50];sizeof(buf) 等于 50 * sizeof(wchar_t)
wchar_t *buf = (wchar_t*)malloc(100);
sizeof(buf) 等于 一个指针所占的字节数,在32位机器上是4个字节
2. 对字符串操作函数参数的解释
如: wcscpy_s定义为errno_t wcscpy_s(wchar_t * _Dst, rsize_t _SizeInWords, const wchar_t * _Src);
其中_SizeInWords参数用于指定_Dst缓冲区的大小,但是它是以Word为单位,也就是 wchar_t 字符总数.
又如:strcpy_s定义为
errno_t strcpy_s(char * _Dst, _SizeInBytes, const char * _Src);
其中_SizeInBytes参数也是用于指定_Dst缓冲区的大小,但是它是以Byte为单位,也就是 char 字符总数.
3. 常用C字符串处理函数
复制字符串:strcpy_s wcscpy_s
复制指定长度的字符串:
strncpy_s wcsncpy_s
注: strncpy_s定义为:
errno_t strncpy_s(char * _Dst,rsize_t _SizeInBytes, const char * _Src, rsize_t _MaxCount);
最后一个参数是允许从源字符串中拷贝的最大字符数(而不是字节数).
字符串长度:
strlen wcslen
字符串合并:
strcat_s wcscat_s
字符串比较:
strcmp wcscmp
stricmp wcsicmp
字符串分割:
strtok_s wcstok_s
示例:
char whole[50] = {"123,456<789,END"};
char *context = NULL;
char *p = NULL;
p = strtok_s(whole, ",<", &context);
while(p != NULL)
{
printf("%s\n",p);
p = strtok_s(NULL, ",<", &context);
}
在源字符串中正向查找指定字符,
返回的指针指向 目标字符 在源字符串中第一次出现的位置;如果未找到,则返回NULL.
strchr wcschr
在源字符串中正向查找完整的目标字符串,
返回的指针指向 目标字符串 在源字符串中第一次出现的位置;如果未找到,则返回NULL.
strstr wcsstr
以目标字符串的所有字符作为集合,在当前源字符串正向查找该集合的任一元素,
返回的指针指向 目标字符集合中的任意字符 在源字符串中第一次出现的位置;如果未找到,则返回NULL.
strpbrk wcspbrk
在源字符串中反向查找指定字符,
返回的指针指向 目标字符 在源字符串中第一次出现的位置;如果未找到,则返回NULL.
strrchr wcsrchr
字符串格式化:
sprintf_s swprintf_s
字符串与数字间转换:
(字符串 到 int) atoi _wtoi
(字符串 到 long) atol _wtol
(字符串 到 double) atof _wtof
(字符串 到 __int64) _atoi64 _wtoi64
(int 到 字符串) itoa _itow
(long 到 字符串) ltoa _ltow
(double 到 字符串) gcvt
(__int64 到 字符串) _i64toa _i64tow
0 0
- 字符串处理C函数总结
- C语言字符串处理函数总结
- C字符串处理常用函数总结
- [总结] C字符串常用处理函数
- C/C++字符串处理函数总结
- c++(字符串处理函数)
- C字符串处理函数
- C字符串处理函数
- c++(字符串处理函数)
- C字符串处理函数
- C字符串处理函数
- C字符串处理函数
- C- 字符串处理函数
- c 字符串处理函数
- C字符串处理函数
- C字符串处理函数
- C字符串处理函数
- c字符串处理函数
- C语言再学习 -- 存储类、链接
- 第九周 项目4-广义表算法库及应用(2)
- C# Remoting TcpChannel
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 【转】XCode: duplicate symbol 解决方案
- 字符串处理C函数总结
- Linux入门:linux分类:yum和apt、网络配置
- 《软件需求最佳实践》与《掌握需求过程》对比
- 打印日志存在的安全性
- 关于swift3.0关于弹出键盘高度的问题
- oracle 全文检索实践
- matlab遍历文件并完成文件移动
- 解决SurfaceView预览Camera拉伸问题
- Android开发UI界面优化(1)