Я пытаюсь преобразовать из строки в целое число uint64_t. stoi
возвращает 32-битное целое число, поэтому оно не будет работать в моем случае. Существуют ли другие решения?C++ преобразовать строку в uint64_t
ответ
Пробовали ли вы
uint64_t value;
std::istringstream iss("18446744073709551610");
iss >> value;
?
См Live Demo
Это может работать для из стандартов даты тоже.
Попробуйте std::stoull
, если вы используете C++ 11 или более поздней версии.
This post также может быть полезен. Я не отметить это как дубликат, потому что другой вопрос о С.
Если вы используете импульс, вы могли бы сделать использование boost::lexical_cast
#include <iostream>
#include <string>
#include <boost-1_61/boost/lexical_cast.hpp> //I've multiple versions of boost installed, so this path may be different for you
int main()
{
using boost::lexical_cast;
using namespace std;
const string s("2424242");
uint64_t num = lexical_cast<uint64_t>(s.c_str());
cout << num << endl;
return 0;
}
Я не использую boost – Cauchy
Еще полезный ответ, возможно, следующий читатель. –
@BaummitAugen Hhhhhm, как _'lexical_cast'_ прыгать, чтобы быть полезным здесь? –
- 1. Arduino: Преобразование uint64_t в строку
- 2. Как преобразовать unsigned в uint64_t?
- 3. преобразовать hex в uint64_t с bash
- 4. Как преобразовать std :: chrono :: time_point в uint64_t?
- 5. преобразовать массив из uint64_t в __m256i
- 6. Преобразовать строку в C#
- 7. Преобразование uint64_t в time_point
- 8. Как преобразовать строку c в строку d?
- 9. Как преобразовать строку C# в строку javascript?
- 10. преобразовать строку в char c
- 11. C++ преобразовать UnicodeString в строку
- 12. Преобразовать строку IInputStream в C#
- 13. C++ преобразовать * строку в целое
- 14. преобразовать символы в строку C
- 15. C++ преобразовать строку в time_t
- 16. C# преобразовать строку в uint
- 17. C#: преобразовать строку в DBType.AnsiStringFixedLength
- 18. C#: преобразовать строку в DateTime
- 19. C# преобразовать строку в DateTime
- 20. Преобразовать строку FileStream в C#
- 21. C: преобразовать int [] в строку
- 22. преобразовать бит в строку C++
- 23. std :: string to uint64_t
- 24. uint64_t в целое
- 25. C++ Преобразование SATOSHI (uint64_t) в BTC (строка) без float/double
- 26. Преобразовать строку в порицают строку
- 27. Как преобразовать std :: string представление 64-разрядного адреса в uint64_t?
- 28. Как быстро и безопасно преобразовать шестнадцатеричную строку в unsigned 64bit (uint64_t)?
- 29. Преобразовать строку, не строку с C макро
- 30. char [] to uint64_t
Ну, C++ 11 можно считать нынешним стандартом с нескольких лет. –
Это * a * стандарт, но не ** THE ** стандарт. Есть еще много людей, которые работают с C++ 03 из-за работы или устаревшего кода или по любой причине. – Gambit
Несомненно ** Стандарт ** - это C++ 14? –