什么是CRT函数

本琦巧Qv
2013-10-11 · TA获得超过4421个赞
知道小有建树答主
回答量:959
采纳率:0%
帮助的人:2235万
展开全部
一般来说,CRT函数就是标准的C语言函数。例如,printf、scanf、strlen、fopen等函数就属于CRT函数。在windows下所有的CRT函数最终都是转化成为win32 API来执行的。windows本身并没有在内核之上提供对CRT的支持。 CRT既可以通过静态连接来实现,也可以通过动态链接来实现(MSVCRT.DLL)。常用的安全CRT函数常用的安全CRT函数安全CRT(C Runtime Library = C运行时间库)函数,是微软公司对C/C++语言的扩展。它在原来函数名后添加了“_s”后缀;一般返回出错代码;并将原来的函数返回值,作为一个参数,添加到函数输入参数列表的最后;对带缓冲区参数的函数,还添加了表示缓冲区大小的输入参数,以防止内存溢出。下面是若干常用的安全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>下面是若干安全函数原型用到的数据类型的定义: #include <crtdefs.h> typedef int errno_t; typedef unsigned short wchar_t; #ifdef _WIN64 typedef unsigned __int64 size_t; #else typedef _W64 unsigned int size_t; #endif
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式