String/WString, char* /wchar_t* 相关操作函数
来源:互联网 发布:电脑系统维护软件 编辑:程序博客网 时间:2024/05/23 12:24
转载自:http://blog.csdn.net/fghygzs/article/details/17289675
string和wstring
容器
字符串操作
特性
查找
常用
字符操作
strcpy(char*,char*)char*
lstrcpy //把参2拷贝到参1中。返回指针或NULL
wcscpy
_tcscpy
_mbscpy
strncpy(char*,char*,int)char*
把参2里的至多n个字符复制到参1。填充空字符
wcsncpy
_tcsnccpy
_mbsncpy
strcat(char*,char*)char*
lstrcat把参2复制到参1之后。参1要且足够大的字符数组
wcscat
_tcscat
_mbscat
strncat(char*,char*,int)char*
把参2里最多(不多余参2长度)的n个字符复制到参1之后
wcsncat
_tcsncat
_mbsncat
strdupr(char*)char*
复制字符串,需要调用free释放
wcsdupr
_tcsdupr
_mbsdupr
strrev(char*)char*
反转字符串
wcsrev
_tcsrev
_mbsrev
strset(char*,int)char*
用指定字符填充缓冲区
wcsset
_tcsset
strlwr(char*)
将字符串转换成大写
wcslwr
_tcslwr
strupr(char*)
将字符串转换成小写
wcsupr
_tcsupr
strxfrm(char*,char*,int)
复制源字符串到目标字符串
wcsxfrm
_tcsxfrm
字符串查找
strchr(char*,char)
查寻字符并返回第一次出现的位置的指针。没有返回NULL
wcschr
_tcschr
strstr(char*,char*)
从参1中查找字符串,如果没有返回null
wcsstr
_tcsstr
strcspn(char*,char*)
返回参1中第一个在s2中出现的字符下标值
wcscspn
_strcspn
strpbrk(char*,char*)
在参1中找出第一个出现在参2中的任一字符,返回指针没有返回NULL
wcspbrk
_tcspbrk
strtok(char*,char*)
在参1中查寻分隔符参2,并修改成’\0’
strrchr(cs,c)
在cs中查寻c并返回c最后一个出现的位置,没有时返回NULL
wcsrchr
_tcsrchr
strspn(cs,ct)
返回字符串中第一个不在指定字符串中出现的字符
wcsspn
_tcsspn
字符串比较
strcmp(cs,ct)
比较字符串大小,大于返回1等于返回0
wcscmp
_tcscmp
stricmp()
忽略大小写比较字符串
wcsicmp
_tcsicmp
strncmp(cs,ct,n)
比较字符串大小,至多比较n个字符
wcsncmp
_tcsnccmp
strcoll(s1,s2)
用环境变量LC_COLLATE比较两个字符串大小
wcscoll
_tcscoll
字符串特性
strlen(const char*)
字符串长度(不包含‘\0’)
wcslen
_tcsclen
strerror(n)
返回与错误编号n相关的错误信息串(指向该错误信息串的指针)
wcserror
_tcserror
tolower(int c) //当c是大写字母时返回对应小写字母,否则返回c本身
toupper(int c) //当c是小写字母时返回对应大写字母,否则返回c本身
字符处理函数(<ctype.h>)
isalpha(c)int //c是字母字符
isdigit(c)int //c是数字字符
isalnum(c)int //c是字母或数字字符
isspace(c) int //c是空格、制表符、换行符
isupper(c)int //c是大写字母
islower(c) //c是小写字母
iscntrl(c) //c是控制字符
isprint(c) //c是可打印字符,包括空格
isgraph(c) //c是可打印字符,不包括空格
isxdigit(c) //c是十六进制数字字符
ispunct(c) //c是标点符号
writeToStream //向指定流中输出字符串
内存操作
ZeroMemory(PVOID,SIZE_T) //内存清零
memset(void*,int,int) //空间设值 1地址23大小memset(my,NULL,sizeof(my));
memcpy(s,ct,n) //从ct处复制n个字符到s处,返回s
memmove(s,ct,n) //从ct处复制n个字符到s处,返回s,这里的两个段允许重叠
memcmp(cs,ct,n) //比较由cs和ct开始的n个字符,返回值定义同strcmp
memchr(cs,c,n) //在n个字符的范围内查寻c在cs中的第一次出现,如果找到,返回该位置的指针值,否则返回NULL
swab() //把指定内存内每两个字节相交换,结果放置到另一块内存
memlcmp() //比较两块内存间大小,大小写无关
calloc(size_t, size_t) //分配一块存储 n个大小为size的对象,初始化用0填充。失败NULL。就是比malloc有个初始化free释放
malloc(size_t size) //分配一块足以存放大小为size的存储,返回该存储块的地址,不能满足时返回NULL
realloc(void *p, size_t size) //将p所指存储块调整为大小size,返回新块的地址。不能满足要求时返回NULL,此时原块不变
void free(void *p) //释放以前分配的动态存储块
目录
_chdir(char*)int //设定当前工作目录成功返回0
_chdrive(int)int //设定当前工作驱动器号
_getcwd(char*,int)char* //获得当前工作目录
_getdcwd(int,char*,int)char* //获取当前驱动器
_getdrive()int //获取驱动器
_mkdir(char*)int //建立新目录
_rmdir(char*)int //删除目录
_searchenv(char*,char*,char*) //在环境变量中查找文件
文件
打开的文件分两种,一种是非缓冲区文件,一种是缓冲区文件
1.非缓冲文件系统:低级IO,是系统级的输入输出,它不设文件结构体指针,只能读写二进制文件,但效率高、速度快
2.缓冲文件系统:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,执行速度就快、效率高。
是系统调用返回的是文件句柄,文件的句柄是文件在文件描述副表里的索引,fopen是C的库函数,返回的是一个指向文件结构的指针。文件描述符,无缓冲操作
2.fopen用来打开普通文件,open主要用于设备文件。3.fopen是纯库函数, open实际上是一个系统调用,当然是被wrapper到库函数中去了。
_chsize(int,long)int //改变文件大小参1打开的文件参2新大小返回文件大小非0表示出错
_filelength(int)long //文件长度
_fstat(int,stat*)int //获取文件打开信息,成功返回0
_isatty(int)int //确定句柄是否与一个设备相连
_locking(int,int,long)int //锁定或解锁文件开始的指定长度
_setmode(int,int)int //设置打开文件方式
_open_osfhandle(long,int)int //将文件句柄映射成为C的流文件
_get_osfhandle(int)long //将C的流文件映射成为文件句柄
_access(char*,int)int //检测文件能否以指定方式打开或目录是否存在
_chmod(char*,int)int //改变文件访问权限
_fullpath(char*,char*int)char* //相对路径转换成完整路径
_makepath(char*,char*,char*,char*) //用4个组成成分建立一个路径字符串
_mktemp(char*)char* //返回一个临时文件路径传入namexxxxxx
_splitpath(char*,char*,char*,char*,char*)//将一个路径分解成4个组成成分
remove(char*) //删除文件路径
rename() //改名
_unlink() //删除由filename指定的文件。
_umask() //设置创建文件时自动设置的属性掩码
_stat() //获取path指定的有关文件或目录的信息,将它们存储在buffer所指的结构中。
fopen(char,char)FILE //打开文件
_fsopen() //打开与该文件共享的流并返回指向打开文件
_open(char*,int)int //打开文件并返回文件描述符
_sopen() //打开包含文件共享的文件并返回文件描述符
_pipe() //创建读写管道
freopen() //重新分配一个文件指针
_fdopen()
_fileno()
_get_osfhandle()
_open_osfhandle()
- String/WString, char* /wchar_t* 相关操作函数
- 字符串,wchar_t, char,string,wstring
- C++ string 、char 、char *、wstring、wchar_t * 、wchar_t 之间的转换
- Relationship: char, wchar_t, TCHAR, _T(), wstring, string
- Relationship: char, wchar_t, TCHAR, _T(), wstring, string
- wstring->string 文件读写 char->wchar_t
- wchar_t char string wstring 之间的转换
- wchar_t char string wstring 之间的转换
- C++ wstring string char* wchar_t相互转换
- wchar_t char string wstring 相互转换
- wchar_t char string wstring 之间的转换
- C++ Various String Types (char, wchar_t, string, wstring, cstring)
- wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....转换
- wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString 以及system("command")
- std::string,std::wstring,CString,char,char*,char数组,wchar_t*,wchar_t,wchat_t数组
- wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString
- wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....转换
- wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CStrin
- sqlite提升效率
- MYSQL练习2
- 第七周 项目3 负数把正数赶出队列
- 通用块层和SCSI层--硬盘HBA抽象层
- Maven的核心笔记(1)配置Maven环境变量
- String/WString, char* /wchar_t* 相关操作函数
- 文件I/O
- 常见矩阵运算Python
- 第七周 项目6
- 这几个软件你能没听过,但真的每个都好用到爆
- 高并发Java(1):前言
- java设计模式之单例模式
- 捕获未处理的Promise错误
- 神经网络与深度学习学习笔记:神经网络的优化(二)