Я видел очень много постов о том, как преобразовать одну цифру в целое число, но как я могу преобразовать более одного числа в целое число, точно так же, как ’23’ преобразует его в 23;
Чтобы преобразовать массив символов в целое число, используйте atoi()
, Если конвертируете строки, добавьте .c_str()
после строковой переменной, чтобы преобразовать ее в подходящую форму для использования.
Вы также можете использовать stoi()
, который предоставляет некоторые дополнительные функции для преобразования, такие как указание базы.
Используйте встроенную функцию СТД :: стои, или напишите свою собственную реализацию, например:
// A simple C++ program for implementation of atoi
#include <stdio.h>
// A simple atoi() function
int myAtoi(char *str)
{
int res = 0; // Initialize result
// Iterate through all characters of input string and update result
for (int i = 0; str[i] != '\0'; ++i)
res = res*10 + str[i] - '0';
// return result.
return res;
}
// Driver program to test above function
int main()
{
char str[] = "89789";
int val = myAtoi(str);
printf ("%d ", val);
return 0;
}