📅  最后修改于: 2020-09-25 08:47:13             🧑  作者: Mango
long int atol(const char* str);
它在
atol() 函数将字符串作为参数,将其内容解释为整数,并在long int
返回相应的值。
atol() 函数返回:
如果转换后的值超出范围,则将导致未定义的行为。
#include
#include
using namespace std;
int main()
{
char s[] = "-114";
double number;
cout << "Number in String = " << s << endl;
number = atol(s);
cout << "Number in Long Int = " << number;
return 0;
}
运行该程序时,输出为:
Number in String = -114
Number in Long Int = -114
atol() 函数的有效整数值包含一个可选的+或-符号,后跟数字(0-9) 。 atol() 函数不像atof() 函数那样支持十六进制,无穷大和NaN
表达式。
通常,atol() 函数的有效整数参数具有以下形式:
[whitespace] [- | +] [digits]
直到主非空白字符被找到蒂() 函数将忽略所有的前导空白字符 。
然后,从这个字符开始,它需要尽可能多的字符来形成有效的整数表示形式并将其转换为long int值。最后一个有效字符之后的字符串剩余部分将被忽略,并且对结果没有任何影响。
#include
#include
using namespace std;
int main()
{
cout << "Number in String = " << " 13" << endl;
cout << "Number in Long Int = " << atol(" 13") << endl << endl;
cout << "Number in String = " << " 25 " << endl;
cout << "Number in Long Int = " << atol(" 25 ") << endl << endl;
cout << "Number in String = " << "41.90abcd" << endl;
cout << "Number in Long Int = " << atol("41.90abcd") << endl << endl;
// Returns 0 because of invalid conversion
cout << "abcd14" << " to Long Int = " << atol("abcd14") << endl;
return 0;
}
运行该程序时,输出为:
Number in String = 13
Number in Long Int = 13
Number in String = 25
Number in Long Int = 25
Number in String = 41.90abcd
Number in Long Int = 41
abcd14 to Long Int = 0