-6
A
回答
2
在C++ 98
你可以做
std::string str("1234");
int i;
std::stringstream ss(str);
ss >> i;
在C++
11,你应该做的:
std::string str("1234");
int i=std::stoi(str);
-1
更C++ - 的方式这样做的:
#include <sstream>
#include <string>
// Converts a string to anything.
template<typename T>
T to(const std::string& s)
{
std::stringstream ss(s);
T ret;
ss >> ret;
return ret;
}
// And with a default value for not-convertible strings:
template<typename T>
T to(const std::string& s, T default_)
{
std::stringstream ss(s);
ss >> default_;
return default_;
}
使用方法如下:
int i = to<int>("123");
assert(i == 123);
int j = to<int>("Not an integer", 123);
assert(j == 123);
并且将其扩展到支持任意类型你们的:
struct Vec3 {float x, y, z;};
template<class T>
T& operator>>(T& f, Vec3& v) {
f >> v.x >> v.y >> v.z;
return f;
}
// Somewhere else:
Vec3 v = to<Vec3>("1.0 2.0 3.0");
相关问题
- 1. 在C中将字符串输入更改为int#
- 2. 将Int值更改为字符串
- 3. 将字符串更改为int
- 4. 如何将int数组更改为一个字符串数组?
- 5. 将字符串变量从字符串更改为int
- 6. 如何将字符串转换为int []数组在c#中?
- 7. 如何将字符串更改为Int并将其相乘
- 8. C#将字符串更改为字符串中的小索引
- 9. 如何将VSS中的==字符串更改为eq(字符串)?
- 10. 将字符串转换为int在C++
- 11. 如何在C/C++中将字符串修改为char数组?
- 12. 在C中,如何将包含数字的字符串转换为int数组?
- 13. C#将LINQ列表(int)项目更改为(字符串)
- 14. 如何将字符串键更改为int
- 15. 如何将int更改为此对象的字符串?
- 16. 如何将int更改为像这样的字符串
- 17. C#将字符串更改为新值
- 18. 在Pentaho数据集成中将字段从字符串更改为Int
- 19. 如何将字符串更改为C++中的多字符文字?
- 20. 如何将Stringtokenizer更改为字符串
- 21. 如何将ratingStars更改为字符串?
- 22. 如何将字符串更改为Uri
- 23. javascript将字符串视为字符数组 - 如何更改该字符串?
- 24. C++如何将整数更改为字符串?
- 25. 如何在C#中将某个字符串[index]转换为int?
- 26. 如何在游戏中将int更新为字符串转换?
- 27. C#参数不能将int转换为字符串或字符串int
- 28. 如何将字符串拆分为int数组中的int
- 29. 如何在C++中连接字符串+ int +字符串?
- 30. 如何将数组更改为字符串以在C++中显示符号?
你有什么实际的代码试过吗? – KillianDS 2012-03-21 13:31:29
可能在下面的链接会帮助你。 http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/ – kandarp 2012-03-21 13:30:45