我正在使用以下代碼將Const char *
轉換爲Unsigned long int
,但輸出始終爲0
。我在哪裏做錯了?請告訴我。將Const char *轉換爲Unsigned long int - strtoul
這裏是我的代碼:
#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;
}
順便說一句,如果有人想將其轉換爲一個'無符號長long',功能['標準:: stoull'(HTTP: //www.cplusplus。com/reference/string/stoull /),而'unsigned long'是['std :: stoul'](http://www.cplusplus.com/reference/string/stoul/)。 – Volomike