Имеет ли GMP какую-либо функцию для преобразования строк std в целые числа?
Функция mpz_init_set_str инициализирует и преобразует char * в int. Я хочу знать, есть ли поддержка строк std?
mpz_init_set_str
GMP имеет привязки C ++, поэтому используйте gmpxx, и он будет работать без проблем. Простые задания сделают эту работу (поэтому без кода котельной плиты).
Четное введение показывает такой пример:
int main (void) { mpz_class a, b, c; a = 1234; b = "-5678"; c = a+b; cout << "sum is " << c << "\n"; cout << "absolute value is " << abs(c) << "\n"; return 0; }
Просто используйте функцию c_str () для доступа к базовому массиву символов:
std::string str; mpz_t strg; mpz_init_set_str(strg, str.c_str(), 10);