c++ string to int

一般可以直接使用atoi或者strtol()。

但是后边这个strtol()在字符串为空的时候会返回0,需要注意不会报错。

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>

using namespace std;

void c(const char *s) {
    char *endptr;
    long int num;

    num = strtol(s, &endptr, 10);

    if (*endptr != '\0') {
        printf("wrong");
    } else {
        printf("ok:%ld\n", num);
    }
}

int main() {
    char str[] = "12345";
    c(str);
    string a = "";
    c(a.c_str());
    return 0;
}
文章目录