常用C语言库函数。

常用C语言库函数
1. 内存操作函数
(int *)malloc(100*sizeof(int));    // #include

void *memcpy(void *destin, const void* src, size_t count );  返回值指向目标存储区

void *memmove( void* dest, const void* src, size_t count );  返回值指向目标存储区

void * memset(void * dest,int ch,size_t count); 返回值指向被赋值的地址区域

void *malloc(size_t size);  返回值指向被分配的区域地址

//安全函数版, 安全函数增加目标地址的长度校验和返回值
errno_t memcpy_s(void *dest, size_t destMax, const void *src, size_t count);
errno_t memmove_s(void *dest, size_t destMax, const void *src, size_t count);
errno_t memset_s(void *dest,rsize_t destsz,int ch,rsize_t count)

2. 字符串操作函数
size_t strlen(char const* str); 计算字符串长度,不包括 '\0' 结束符。本函数无安全函数版本

size_t strnlen(const char *str, size_t maxlen);  直到碰到第一个字符串结束符'\0'或计数器到达以下的maxlen为止,然后返回计数器值  //不常用,此函数有安全函数版本

char *strcpy(char* dest, const char *src);  返回目的地址  strcpy把含有'\0'结束符的字符串复制到另一个地址空间

char *strncpy(char *dest, const char *src, int count);  复制前count个字节,返回目的地址。不会自动添加'\0'符号。

char *strcat(char* dest, const char *src); 

char *strncat(char *dest, const char *src, int count); 

int strcmp(const char *s1,const char *s2); 一直比较,直到出现不同的字符或者'\0', 若str1=str2,则返回零;若str1str2,则返回正数

//安全函数版本

errno_t strcpy_s(char *dest,  rsize_t destsz,  const char * src);

errno_t strncpy_s(char* dest,  rsize_t destsz,  char * src,  int count);

errno_t strcat_s(char *dest,  rsize_t destsz,  const char * src);

errno_t strncat_s(char* dest,  rsize_t destsz,  char * src,  int count);

3. 格式化输出

printf("% d % d\n", curLength, maxLength);    // #include
sprintf(s, "%d", 123);  //把整数123打印成一个字符串保存在s中

int printf(const char *format, ...); 成功返回输出的字符个数,失败返回负数

int sprintf(char *string, char *format [,argument,...]);  成功返回写入的字符个数,失败返回负数

int sprintf_s(char* strDest, size_t destMax, const char* format, ...)  成功返回写入的字符个数,失败返回负数

int snprintf(char* strDest, size_t count, const char* format, ..);成功返回写入的字符个数,失败返回负数

int snprintf_s(char* strDest, size_t destMax, size_t count, const char* format, ..);成功返回写入的字符个数,失败返回负数

4. 格式化输入

int scanf(const char * restrict format,...); 成功返回输入的字符个数,失败或遇到文件结束,则返回EOF,end of file。

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF

int scanf_s(const char* restrict format, ...);

scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。输入整数时,则没有区别。

如下所示:

scanf_s("%d", &i);
scanf_s("%c", &c, 1);
scanf_s("%s", string, sizeof(string));

 

你可能感兴趣的:(C/C++及框架)