阅读量:83
在C++中,strtoll函数用于将字符串转换为长整型(long long)
- 包含头文件
。 - 使用
strtoll函数并检查返回值和错误指示器。 - 如果转换失败,处理错误。
以下是一个简单的示例:
#include
#include
#include
int main() {
const char* str = "not_a_number"; // 输入字符串
char* end; // 用于存储 strtoll 停止解析的位置
errno = 0; // 重置错误指示器
long long result = std::strtoll(str, &end, 10);
if (errno == ERANGE) {
// 溢出或下溢
std::cout << "Conversion failed: out of range"<< std class="hljs-keyword">else if (end == str || *end != '\0') {
// 没有字符被解析或字符串中还有未解析的字符
std::cout << "Conversion failed: invalid input"<< std class="hljs-keyword">else {
// 转换成功
std::cout << "Converted value: "<< result class="hljs-keyword">return 0;
}
这个示例会尝试将字符串 “not_a_number” 转换为长整型。由于这不是一个有效的数字,所以转换会失败,程序会输出 “Conversion failed: invalid input”。