2021-03-27

实现 Myatoi 函数

解题思路:
实现 Myatoi 函数,将字符串转成数字,比如
“123”->123,“12a3”->12。遇到第一个非数字字符转换结束。可以处
理前面的空格字符和负号。
具体的使用可以参考库函数 atoi

考点:
1、atoi 的含义。
2、程序的健壮性。

**int Myatoi(const char *str) {
assert(str != NULL);
if(str == NULL) {
return 0;
}
int tmp = 0;//保存数值
int flg = 1;//保存正负符号
while(*str == ’ ')//消除前面的空格
str++;
if(str == ‘-’)//读取符号
{
flg = -1;
str++;
}
else if(str == ‘+’) {
str++;
}
while(isdigit(str))//处理数字字符
{
tmp = tmp
10 + (str - ‘0’);
str++;
}
return flg
tmp;
}

1 功能
atoi()函数将数字格式的字符串转换为整数类型。例如,将字符串“12345”转换成数字12345。
2 格式
该函数的格式为
int atoi(const char* str)
其中,参数str是要转换的字符串,返回值是转换后的整数。

健壮性是指软件对于规范要求以外的输入情况的处理能力。

sprintf函数的格式:
int sprintf( char *buffer, const char *format [, argument,…] );
sprintf函数打印到字符串中(要注意字符串的长度要足够容纳打印的内容,否则会出现内存溢出),而printf函数打印输出到屏幕上。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。

上一篇:用Matlab批量将图片反色


下一篇:STM32之sprintf