📅  最后修改于: 2023-12-03 14:59:50.980000             🧑  作者: Mango
在 C++ 语言中,strol() 函数是将字符串转换为长整型(long int)的一个标准库函数,其定义位于头文件 cstdlib 中。该函数的返回值是一个长整型的值。
long int strtol (const char* str, char** endptr, int base);
下面是一个简单的例子,演示如何将字符串转换为长整型数值并输出。
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char const *argv[])
{
const char* str = "-1234567890123456"; // 输入字符串
char* endptr; // 定义指针,用于记录第一个不合法字符的位置
long int val = strtol(str, &endptr, 10); // 将字符串转换为长整型数值
cout << "输入字符串:" << str << endl;
cout << "转换后的数字:" << val << endl;
if (endptr != str) // 如果转换成功
{
cout << "第一个不合法的字符为:" << *endptr << endl;
}
return 0;
}
输出结果为:
输入字符串:-1234567890123456
转换后的数字:-1234567890123456
值得注意的是,如果输入字符串为正数,转换后的数字仍然为正数,如果输入字符串为负数,转换后的数字为负数。
strol() 函数的应用非常广泛,尤其是在字符串处理方面。程序员可以通过该函数将字符串转换为长整型,便于进行数值计算。
注意在使用该函数时,需要考虑进制数和字符串是否格式正确,避免产生错误的结果。