1. Char a int e int a char
1.1, char a int:
char a = '1';
int b = a - '0'; // b = 1;
1.2, int a char:
int a = 1;
char b = a + '0'; // b = '1';
2. Char star, char to string y strng to char star, char
2.1, char star, char to string:
char* ptr = "abcd";
string s(ptr); // s = "abcd";
char c = 'a';
string s2;
s2 += c; // s2 = "c";
2.2. Convierta strng en char star, char:
string s = "abc";
char* ptr = const_cast<char*>(s.c_str()); // ptr = "abc";
string s = "a";
char c = s[0]; // c = 'a';
3. Int a cadena y cadena a int
3.1, int a cadena:
int a = 23;
string s = to_string(a); // s = "23";
3.2, cadena a int:
string s = "123";
int a = atoi(s.c_str()); // a = 123;
4. El
prototipo de función de cadena a diferente número hexadecimal (strtol) :
long int strtol (const char* str, char** endptr, int base);
El significado de cada parámetro:
str
el carácter
enptr
que se convertirá es un puntero a la posición del primer carácter no convertible: si endptr no es NULL, el puntero de carácter encontrado que no cumple las condiciones y termina será devuelto por endptr; si endptr es NULL, no se devuelve el puntero.
base
La base de, que significa el número convertido en un número decimal.
char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";
char * pEnd; // pEnd不为null
long int li1, li2, li3, li4;
li1 = strtol (szNumbers,&pEnd,10); // 2001
li2 = strtol (pEnd,&pEnd,16); // 6340800
li3 = strtol (pEnd,&pEnd,2); // -3624224
li4 = strtol (pEnd,NULL,0); // 7340031
Referencias: cplusplus información oficial
uso de la función strtol
para resumir:
1. Estos se usan comúnmente al hacer preguntas de programación y procesar datos de entrada y deben tenerse en cuenta.