字符串函数—atoi()、itoa()等详解及实现(完整版)
来源:互联网 发布:刷游戏的软件 编辑:程序博客网 时间:2024/05/21 10:04
1.int/float to string/array:
C/C++语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。
● itoa():将整型值转换为字符串。
● ltoa():将长整型值转换为字符串。
● ultoa():将无符号长整型值转换为字符串。
● gcvt():将浮点型数转换为字符串,取四舍五入。
● ecvt():将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点。
● fcvt():指定位数为转换精度,其余同ecvt()。
除此外,还可以使用sprintf系列函数把数字转换成字符串,但其比itoa()系列函数运行速度慢。
2. string/array to int/float
C/C++语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)。
● atoi():将字符串转换为整型值。
● atol():将字符串转换为长整型值。
● atof():将字符串转换为双精度浮点型值。
● strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。
● strtol():将字符串转换为长整值,并报告不能被转换的所有剩余数字。
● strtoul():将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字。
实例:
1.函数名: atoi
功 能: 将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时(’\0’)才结束转化,并将结果返回(返回转换后的整型数)。
用 法: int atoi(const char *nptr);
//利用main函数参数实现简易计算器#include <stdio.h>#include <windows.h>#include <string.h>//加法int Add(int x, int y){ return x + y;}//减法int Sub(int x, int y){ return x - y;}//乘法int Mul(int x, int y){ return x*y;}//除法int Div(int x,int y){ if (y == 0) { return 0; } else { return x / y; }}int main(int argc, char *argv[]){ if (argc != 4) { printf("输入参数太少!\n"); system("pause"); return 0; } int num1 = atoi(argv[2]); int num2 = atoi(argv[3]); if (strcmp(argv[1],"-a") == 0) { int ret = Add(num1, num2); printf("ret = %d\n", ret); } else if (strcmp(argv[1], "-s") == 0) { int ret = Sub(num1, num2); printf("ret = %d\n", ret); } else if (strcmp(argv[1], "-m") == 0) { int ret = Mul(num1, num2); printf("ret = %d\n", ret); } else if (strcmp(argv[1], "-d") == 0) { int ret = Div(num1, num2); if (ret == 0) { printf("除数不能为0\n"); } else { printf("ret = %d\n", ret); } } else { printf("输入参数错误!\n"); } system("pause"); return 0;}
补充:
main函数原型:
int main(int argc,char *argv[],char *envp[])
这里有三个参数:
第一个参数: argc是个整型变量,表示命令行参数的个数(含第一个参数)。
第二个参数: argv是个字符指针的数组,每个元素是一个字符指针,指向一个字符串。这些字符串就是命令行中的每一个参数(字符串)。
第三个参数: envp是字符指针的数组,数组的每个元素是一个指向一个环境变量(字符串)的字符指针。
2.函数名: itoa
用法:char *itoa( int value, char *string,int radix);
原型说明:
value:欲转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等,范围必须在 2-36。
功能:将整数value 转换成字符串存入string 指向的内存空间 ,radix 为转换时所用基数(保存到字符串中的数据的进制基数)。
返回值:函数返回一个指向 str,无错误返回。
#include<stdio.h>#include<stdlib.h>int main(){ int num = 10; char str[100]; itoa(num, str, 2); printf("%s\n", str); return 0;}
- 字符串函数—atoi()、itoa()等详解及实现(完整版)
- 字符串函数---atoi()函数详解及实现(完整版)
- 字符串函数---itoa()函数详解及实现
- atoi,itoa,sprintf等函数的实现
- itoa、atoi、memcpy等函数实现
- atoi及itoa 实现
- atoi,itoa函数实现
- 字符串函数---atof()函数详解及实现(完整版)
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- itoa函数及atoi函数
- STM8S 功耗总结
- 并发编程相关类、接口
- HIVE空指针异常:hive NullPointerException null
- 补间动画的原理
- 使用Mahout搭建推荐系统之入门篇2-玩转你的数据1
- 字符串函数—atoi()、itoa()等详解及实现(完整版)
- Construct2游戏2
- ElasticSearch Windows下安装
- 每天一个linux命令(27):linux chmod命令
- CodeForces
- sklearn决策树
- TestNG的基本注解
- Android开发小结——服务器通信
- 信息检索(IR)的评价指标介绍