C ------ 标准函数介绍
sprintf()
函数原型:int sprintf( char *buffer, const char *format [, argument] ... )
功能介绍:
1、把一个字符串赋值(拷贝)给另一个字符串,如:
sprintf(str1, str2);//把字符串str2拷贝给str1
2、把其他类型的数据按某些要求(比如补零)转化为字符串
sprintf(str1,"%04X",str.mid(0,4).toInt(&is_ok,10));
snprintf()
与sprintf()的区别在于,snprintf()多一个参数,即需要制定要把多少数据存入buffer,一般填sizeof(buffer)
函数原型:int snprintf(char *str, size_t size, const char *format, ...)
vsnprintf()
可能会由于需要打印未知个数的变量参数,那么vsnprintf
函数就排上用场了。
函数原型:int vsnprintf(char *str, size_t size, const char *format, va_list ap)
通过vsnprintf()实现snprintf()功能:
#include <stdio.h> #include <stdarg.h> int my_snprintf(char *s, int size, const char *fmt, ...) //该自定义函数,与系统提供的snprintf()函数相同。 { va_list args; int n=0; va_start(args, fmt); //获得可变参数列表 n=vsnprintf (s, size, fmt, args); //写入字符串s va_end(args); //释放资源 return n; //返回写入的字符个数 } int main() { char str[1024]; my_snprintf( str, sizeof(str), "%d,%d,%d,%d",5,6,7,8); printf("%s\n",str); return 0; }
memset()
函数原型:void *memset(void *s, int ch, size_t n);
功能介绍:
将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值,memset是以字节为单位,初始化内存块
1. 当初始化一个字节单位的数组时,可以用memset把每个数组单元初始化成任何你想要的值,比如,
memset(data, 1, sizeof(data)); // right
memset(data, 0, sizeof(data)); // right
而在初始化其他基础类型时,则需要注意,比如
int data[10];
memset(data, 0, sizeof(data)); // right
memset(data, -1, sizeof(data)); // right
memset(data, 1, sizeof(data)); // wrong, data[x] would be 0x0101 instead of 1
2. 当结构体类型中包含指针时,在使用memset初始化时需要小心。
Parameters par;
par.p_x = new int[10];
memset(&par, 0, sizeof(par));
memcmp()
C 库函数 int memcmp(const void *str1, const void *str2, size_t n)) 把存储区 str1 和存储区 str2 的前 n 个字节进行比较
malloc、realloc、calloc 和 free
void* malloc (size_t size);
malloc:分配一块 size bytes 大小的内存,返回一个指向该内存开始的指针,该内存的值不确定,未被初始化
void* calloc (size_t num, size_t size);
calloc:分配一块 num*size bytes 大小的内存,返回一个指向该内存开始的指针,该内存的值被初始化为0
void* realloc (void* ptr, size_t size);
realloc:申请一个 size bytes 大小的内存,指针 p 指向该内存,把 ptr 指向的内存前 size 个字节数据拷贝到 p 指向的内存,释放 ptr 指向的内存,返回指针 p
void free (void* ptr);
释放内存
相关文章
- C++ 标准IO库
- Go语言标准库之strconv
- 第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承
- 第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装
- SAP ABAP 处理 Excel 的标准函数 TEXT_CONVERT_XLS_TO_SAP 介绍试读版
- zone.js在bootstrap阶段对window对象里一些标准方法的注入逻辑
- ML:MLOps系列讲解之《CRISP-ML (Q)ML生命周期过程—了解机器学习开发的标准过程模型—业务和数据理解→数据工程(数据准备)→ML模型工程→评估ML模型→模型部署→模型监控和维护》解读
- POSIX 系统应用程序接口 errno IEEE dev_t gid_t pid_t uid_t 标准 进程创建fork execl执行 wait 等待进程终止 _exit 终止一个进程
- 【Android 逆向】ptrace 函数 ( C 标准库 ptrace 函数简介 | ptrace 函数真实作用 )
- 阿里云标准-Apache Tomcat 安全基线检查
- 对于周 阅读项目 标准输入和输出流
- Python标准库:内置函数chr(i)
- Python标准库:内置函数ascii(object)
- Python标准库:内置函数format(value[, format_spec])
- Python标准库:内置函数globals()
- Python标准库:内置函数reversed(seq)
- 机器学习中的丑小鸭定理——世界上不存 在相似性的客观标准,是不是意味着如果从基因上去识别差异就没有差异,而人类只能做到主观的模糊论断???孪生网络无解???
- 标准IO函数---扩展练习知识点2
- Go fmt包中 Scan获取标准输入