Javascript C的parseInt()或int等价物
我今天刚开始学习C,我了解了一点Python和一点Javascript,我想知道如何获得字符串的int基,例如在Javascript中,可以这样做:Javascript C的parseInt()或int等价物,javascript,python,c,Javascript,Python,C,我今天刚开始学习C,我了解了一点Python和一点Javascript,我想知道如何获得字符串的int基,例如在Javascript中,可以这样做: parseInt("myString", 36); 这将返回1799765255212 在Python中是这样的: int("myString", 36) 它还将返回1799765255212 是否有C等价物?如果没有,我将如何制作 #inclucde <stdlib.h> long long val = strtoll("myS
parseInt("myString", 36);
这将返回1799765255212
在Python中是这样的:
int("myString", 36)
它还将返回1799765255212
是否有C等价物?如果没有,我将如何制作
#inclucde <stdlib.h>
long long val = strtoll("myString", NULL, 36);
long val=strtoll(“myString”,NULL,36);
您可以使用它接受一个可选的基数,将数字转换为base36,就像Python的int
那样
long long myint1 = std::strtoll("myString", NULL ,36);
没什么值得注意的
Python整数不限于C/C++位限制。根据标准,int
的大小为4字节
与atoi不同,atoi
接受可选的基,以接受任意基中的字符串
请考虑上述两点,<代码> STD::StrutT//C>对您的特定情况最好。
样本来源
#include <iostream>
#include <string>
int main()
{
std::string str1 = "myString";
long long myint1 = std::strtoll(str1.c_str(),0,36);
std::cout << "std::strtoll(\"" << str1 << "\") is " << myint1 << '\n';
}
注意
strtoll
是根据C99或C++11添加到标准的。到目前为止,并不是所有的编译器都是C++11兼容的我会使用strtoll
如下:
#include <stdlib.h>
long long value;
value = strtoll("myString", NULL, 36);
printf("value is %lld.\n", value);
#包括
长期价值;
value=strtoll(“myString”,NULL,36);
printf(“值为%lld.\n”,值);
查看自C99以来添加的strtoll或出于此目的。
#include <stdlib.h>
long long value;
value = strtoll("myString", NULL, 36);
printf("value is %lld.\n", value);