我可以知道如何將std :: string轉換爲MSVC特定的__int64?將std :: string轉換爲MSVC特定__int64
3
A
回答
5
_atoi64, _atoi64_l, _wtoi64, _wtoi64_l
std::string str = "1234";
__int64 v =_atoi64(str.c_str());
參見以下鏈接(儘管它是Linux/UNIX):Why doesn't C++ reimplement C standard functions with C++ elements/style?
3
這裏有一種方法:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string s("1234567890987654321");
stringstream strm(s);
__int64 x;
strm >> x;
cout << x;
}
1
__int64
,而延期,仍然是隻是一個數字類型。使用您通常使用的任何方法。
提升lexical cast是我的最愛。它幾乎包紮邁克爾斯答案在一個易於使用的形式:
__int64 x = boost::lexical_cast<__int64>("3473472936");
如果你不能使用boost,你仍然可以做製作一個簡單的版本的一個不錯的工作。這是我爲另一個答案寫的一個實現:
template <typename R>
const R lexical_cast(const std::string& s)
{
std::stringstream ss(s);
R result;
if ((ss >> result).fail() || !(ss >> std::ws).eof())
{
throw std::bad_cast();
}
return result;
}
它做了一些額外的事情,比如檢查尾隨字符。 ("123125asd"
會失敗)。如果無法投射,則會拋出bad_cast
。 (類似於boost)
另外,如果你有機會獲得提升,你可以不用使用MSVC特有__int64
擴展與:
#include <boost/cstdint.hpp>
typedef boost::int64_t int64;
要獲得int64
能夠提供在任何平臺上,而無需更改您的代碼。
相關問題
- 1. 將std :: __ cxx11 :: string轉換爲std :: string
- 2. 將NSString轉換爲std :: string
- 3. 將std :: string轉換爲QString
- 4. 將std :: string轉換爲QwtText
- 5. 將uint64_t轉換爲std :: string
- 6. 將void *轉換爲std :: string
- 7. 將std :: string轉換爲char
- 8. 將std :: string轉換爲basic_ostream?
- 9. C++/CX:將std :: string轉換爲Platform :: String^
- 10. 如何將System :: String ^轉換爲std :: string?
- 11. 將std :: ostream轉換爲std :: string
- 12. 如何將std :: string指針轉換爲std :: string
- 13. 無法將參數2從'std :: string *'轉換爲'std :: string'
- 14. 如何將unicode QString轉換爲std :: string?
- 15. 將void *(char * without \ 0)轉換爲std :: string
- 16. 將std :: string轉換爲boost :: asio :: streambuf
- 17. 將std :: string轉換爲char數組
- 18. 如何將char []轉換爲std :: string
- 19. 將std :: string轉換爲整數
- 20. 如何將wchar_t *轉換爲std :: string? ?
- 21. 將char *轉換爲Unicode std :: string
- 22. 將Rcpp :: CharacterVector轉換爲std :: string
- 23. 無法將'std :: string'轉換爲'const char *
- 24. 將奇怪的std :: string轉換爲NSString
- 25. 將Haskell ByteStrings轉換爲C++ std :: string
- 26. 如何將std :: string轉換爲LPCSTR?
- 27. 如何將Glib :: ustring轉換爲std :: string?
- 28. 在C++中將float轉換爲std :: string
- 29. 從std :: string轉換爲NSString
- 30. 自定義Stringstream - 轉換std :: wstring&std :: string