转载自: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()