将C++字符串变量转换为long
Convert C++ string variable to long
我有一个变量:
string item;
它在运行时初始化。我需要将其转换为long。怎么做?我尝试过atol()和strtol(),但总是分别出现以下错误:
cannot convert 'std::string' to 'const char*' for argument '1' to 'long int strtol(const char*, char**, int)'
cannot convert 'std::string' to 'const char*' for argument '1' to 'long int atol(const char*)'
c++11:
long l = std::stol(item);
http://en.cppreference.com/w/cpp/string/basic_string/stol
C++98:
char * pEnd;.
long l = std::strtol(item.c_str(),&pEnd,10);
http://en.cppreference.com/w/cpp/string/byte/strtol
这样尝试:
long i = atol(item.c_str());
使用字符串流。
#include <sstream>
// code...
std::string text;
std::stringstream buffer(text);
long var;
buffer >> var;
使用std::stol<字符填充空间>
如果您没有访问C++11的权限,并且可以使用boost库,则可以考虑以下选项:
long l = boost::lexical_cast< long >( item );
相关文章:
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 错误:隐式转换更改符号:'int'到'unsigned long'
- 从 long 转换C++位集构造函数的复杂性是多少?
- C++11 模板函数"implicity"将位集<N>转换为"unsigned long"
- 替换 c++ 中的 c 样式强制转换 (long&)
- 如何在<typename> <long> 不更改给定代码的情况下将自定义向量与 STL 向量相互转换?
- 为什么从无符号long-long转换为double会导致数据丢失
- 在C++中将 Java long 转换为 int64
- 将 vector<unsigned long> 转换为 char buffer[]
- 在C++中将long转换为CString
- 在c++中将unsigned long转换为char*
- c++从long转换为float的奇怪错误
- Stringstream将unsigned long转换为带逗号的格式化数字字符串
- 如何在没有sprintf()的情况下将long转换为string
- c++将Lat Long转换为BNG
- 将无符号long-long转换为wchar_t*并连接
- 如何将Lat,long转换为XY坐标系(例如UTM),然后将其映射到我的图像的像素空间
- 使用memcpy、endian将无符号long转换为std::vector
- 将 LONG 转换为函数指针
- 将long转换为wchar_t *