![](/img/trans.png)
[英]Converting vector<unsigned char> to const unsigned char*
[英]Converting Const char * to Unsigned long int - strtoul
我正在使用以下代码将Const char *
转换为Unsigned long int
,但输出始终为0
。 我在哪里做错了? 请告诉我。
这是我的代码:
#include <iostream>
#include <vector>
#include <stdlib.h>
using namespace std;
int main()
{
vector<string> tok;
tok.push_back("2");
const char *n = tok[0].c_str();
unsigned long int nc;
char *pEnd;
nc=strtoul(n,&pEnd,1);
//cout<<n<<endl;
cout<<nc<<endl; // it must output 2 !?
return 0;
}
使用以10为基数:
nc=strtoul(n,&pEnd,10);
或允许自动检测碱基:
nc=strtoul(n,&pEnd,0);
strtoul
的第三个参数是要使用的基数,而您将其作为基数1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.