Hum*_*awi 14 c++ string size-t c++11
有没有办法转换std::string
成size_t
?问题是size_t
平台可靠类型(虽然它是结果sizeof
).所以,我无法保证转换string
为unsigned long
或unsigned int
将正确执行.
编辑:一个简单的例子是:
std::cout<< "Enter the index:";
std::string input;
std::cin >> input;
size_t index=string_to_size_t(input);
//Work with index to do something
Run Code Online (Sandbox Code Playgroud)
您可能希望使用sscanf
说明%zu
符,用于std::size_t
.
sscanf(input.c_str(), "%zu", &index);
Run Code Online (Sandbox Code Playgroud)
看看这里.
从字面上看,我怀疑那里是一个重载operator >>
的std::basic_istringstream
对std::size_t
.看到这里.
小智 9
您可以使用 std::stringstream
std::string string = "12345";
std::stringstream sstream(string);
size_t result;
sstream >> result;
std::cout << result << std::endl;
Run Code Online (Sandbox Code Playgroud)