VC-基础:常用的安全CRT函数
2024-09-04 11:55:52
常用的安全CRT函数 安全CRT(C Runtime Library = C运行时间库)函数,是微软公司对C/C++语言的扩展。它在原来函数名后添加了“_s”后缀;一般返回出错代码;并将原来的函数返回值,作为一个参数,添加到函数输入参数列表的最后;对带缓冲区参数的函数,还添加了表示缓冲区大小的输入参数,以防止内存溢出。
在VC2005中,如果不使用这些安全性函数,编译器会报告警告性错误。 下面是若干常用的安全CRT函数:
char *gets_s( char *buffer, size_t sizeInCharacters); // <stdio.h>
wchar_t *_getws_s( wchar_t *buffer, size_t sizeInCharacters); // <stdio.h> or <wchar.h>
errno_t _itoa_s( int value, char *buffer, size_t sizeInCharacters, int radix ); // <stdlib.h>
errno_t _itow_s( int value, wchar_t *buffer, size_t sizeInCharacters, int radix ); // <stdlib.h>
errno_t _ultoa_s( unsigned long value, char *str, size_t sizeOfstr, int radix ); // <stdlib.h>
errno_t _ultow_s( unsigned long value, wchar_t *str, size_t sizeOfstr, int radix ); // <stdlib.h>
int printf_s( const char *format [, argument]... ); // <stdio.h>
int wprintf_s( const wchar_t *format [, argument]... ); // <stdio.h> or <wchar.h>
int scanf_s( const char *format [, argument]... ); // <stdio.h>
int wscanf_s( const wchar_t *format [, argument]... ); // <stdio.h> or <wchar.h>
int sprintf_s( char *buffer, size_t sizeOfBuffer, const char *format [, argument] ... ); // <stdio.h>
int swprintf_s( wchar_t *buffer, size_t sizeOfBuffer, const wchar_t *format [, argument]...); // <stdio.h> or <wchar.h>
int sscanf_s( const char *buffer, const char *format [, argument ] ...); // <stdio.h>
int swscanf_s( const wchar_t *buffer, const wchar_t *format [, argument ] ...); // <stdio.h> or <wchar.h>
int fprintf_s( FILE *stream, const char *format [, argument ]...); // <stdio.h>
int fwscanf_s( FILE *stream, const wchar_t *format [, argument ]... ); // <stdio.h> or <wchar.h>
int fscanf_s( FILE *stream, const char *format [, argument ]... ); // <stdio.h>
int fwscanf_s( FILE *stream, const wchar_t *format [, argument ]... ); // <stdio.h> or <wchar.h>
errno_t strcpy_s( char *strDestination, size_t sizeInBytes, const char *strSource ); // <string.h>
errno_t wcscpy_s( wchar_t *strDestination, size_t sizeInWords, const wchar_t *strSource ); // <string.h> or <wchar.h>
errno_t fopen_s( FILE** pFile, const char *filename, const char *mode ); // <stdio.h>
errno_t _wfopen_s( FILE** pFile, const wchar_t *filename, const wchar_t *mode ); // <stdio.h> or <wchar.h>
errno_t rand_s( unsigned int* randomValue); // <stdlib.h>
最新文章
- Oracle 超长字符串分割劈分
- Sql Server系列:索引设计原则及优化
- canvas 画圈 demo
- IIS服务器下做301永久重定向设置方法
- 关于obj和基本类通过函数参数传进去执行是否改变原来的值
- IOS中表视图(UITableView)使用详解
- Android支付接入(四):联通VAC计费
- php nl2br() 函数
- java项目创建和部署
- 推荐一些C#相关的网站、资源和书籍(转载)
- 使用NFS安装oracle软件
- wordpress常见的问题
- unix域套接字UDP网络编程
- EF 下的code fist 模式编程
- aspnet5备忘
- loj6271「长乐集训 2017 Day10」生成树求和 加强版
- C#中Dictionary的介绍
- 从头开始学Maven【依赖范围】
- mp4文件解析(纯c解析代码)
- SpringBoot2.X + SpringCache + redis解决乱码问题