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;
}