转载自 http://www.runoob.com/cprogramming/c-standard-library-stdlib-h.html
可以直接点击链接,查C标准库
需求产生原因,频繁变换C++ 的开发环境,陌生的环境,帮助文档都没有。
一、字符串->char*->其他类型
一般C++的IDE都会提供一个 类似于string str(char*)的构造函数,还有一个转为char*的函数
1.转int
int atoi(const char *str)
把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
头文件<stdlib.h>
2.转double
double strtod(const char *str, char **endptr)
把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
头文件<stdlib.h>
二、其他类型->字符串
1.比较通用的多参数,转换并加入字符串
int sprintf(char *str, const char *format, ...)
头文件<stdio.h>
参数
- str -- 这是指向一个字符数组的指针,该数组存储了 C 字符串。
- format -- 这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。format 标签属性是 %[flags][width][.precision][length]specifier,
返回值
如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。
重复上面的的两个函数相同的功能,不过可以设置长度等,功能更强大
%d 十进制整数
%f 浮点数(%.2f,保留两位小数,默认四舍五入)
%s 字符串
%x 十六进制
列举一个常用的用法
格式化字符串的SQL语句,这样就不用拼接字符串了(可能会有SQL注入,看你校验输入了),有的环境提供的有参数匹配。
sprintf(sql,"select * from table where id = %d and name = '%s'",int,char*)