strtoul字符串转换函数

原型:unsigned long int strtoul(const char *nptr,char **endptr,int base);

相关函数 atof,atoi,atol,strtod,strtoul

头文件:stdlib.h

功能:将字符串转换成无符号长整型数

说明:

strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时会根据情况选择用哪种进制:如果第一个字符是‘0‘,就判断第二字符如果是‘x’则用16进制,否则用8进制;第一个字符不是‘0’,则用10进制。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(‘‘)结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

附加说明  ERANGE指定的转换字符串超出合法范围。

返回值:返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。

参数:

nptr:被转换的字符串

endptr:将遇到不合条件而终止的nptr中的字符指针返回

base:进制

应用实例:

#include <stdlib.h>
#include <stdio.h>
int main()
{
    long c = 0;
    char *endptr;
    c = strtoul("200e-2",&endptr,10);
    printf("原始字符串:200e-2\t转换后:%d\t返回字符串:%s\n",c,endptr);

    c = strtoul("-123%^456",&endptr,10);
    printf("原始字符串:-123%^456\t转换后:%d\t返回字符串:%s\n",c,endptr);

    c = strtoul("#$%123%^098",&endptr,10);
    printf("原始字符串:#$%123%^098\t转换后:%d\t返回字符串:%s\n",c,endptr);

    c = strtoul("  ",&endptr,2);
    printf("原始字符串:   \t转换后:%d\t返回字符串:%s\n",c,endptr);

    c = strtoul("0.55",&endptr,10);
    printf("原始字符串:0.55\t转换后:%d\t返回字符串:%s\n",c,endptr);

    c = strtoul("-145789632",&endptr,10);
    printf("原始字符串:-145789632\t转换后:%d\t返回字符串:%s\n",c,endptr);

    c = strtoul("$#@!",&endptr,10);
    printf("原始字符串:$#@!\t转换后:%d\t返回字符串:%s\n",c,endptr);
    return 0;
}

运行结果:

时间: 2024-08-29 14:27:56

strtoul字符串转换函数的相关文章

【Linux C中文函数手册】 字符串转换函数

字符串转换函数 1)atof 将字符串转换成浮点型数 相关函数 atoi,atol,strtod,strtol,strtoul表头文件 #include <stdlib.h>定义函数 double atof(const char *nptr);函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回.参数nptr字符串可包含正负号.小数点或E(e)来表示指数部分,如123.456或1

linux中字符串转换函数 simple_strtoul

Linux内核中提供的一些字符串转换函数: lib/vsprintf.c [html] view plain copy print? 1. unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base) 2. unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base) 3. long simple_st

strtol字符串转换函数应用实例

原型:long int strtol(const char *nptr,char **endptr,int base); 相关函数 atof,atoi,atol,strtod,strtoul 头文件:stdlib.h 功能:将字符串转换成长整型 说明: 1.参数base范围从2至36,或0.参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等.当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换.遇到'0'前置字

ASP字符串转换函数用法

Asc(str)返回第一个字符的ASCll符号 InStr(start,str1,Str2)从字符串str1的start位置开始查找str2) Lcase(str)将字符串str中的所有字符转换为小写 Left(str,len)返回字符串str中最左侧长度为len的字符串 len(str)返回字符串str长度 Ltrim(str)去除str左边的空格 Mid(str,start,Len)返回从str的start字符开始的len个字符. Right(str,len)返回右边的len个字符 Rtri

VC++编程中常用的字符串转换函数

VC++编程中经常遇到不同编码编码的字符串之间需要转换的情况,以下简单提供几个不同编码字符串之间的转换函数: ANSI 字符串和Unicode字符串之间的转换 //Convert wide char string to ANSI string BOOL WCharToMByte(LPCWSTR lpcwszStr,Std::string &str) { DWORD dwMinSize=0; LPSTR lpszStr=NULL; dwMinSize= WideCharToMultiByte(CP

strtod字符串转换函数应用实例

原型:double strtod(const char *nptr,char **endptr); 相关函数 atoi,atol,strtod,strtol,strtoul 头文件:stdlib.h 功能:将字符串转换成浮点数 说明:strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回.若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回.参数npt

atoi字符串转换函数应用实例

原型:int atoi(const char *nptr); 相关函数 atoi,atol,strtod,strtol,strtoul 头文件:stdlib.h 功能:将字符串转换成整型数 说明:参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数.否则,返回零.比如字符串123.678非数字部分即"."之后全部舍弃 返回值:返回转换后的整型数. 参数:nptr取任意字符串 应用实例: #inc

atof字符串转换函数应用实例

原型:double atof(const char *nptr); 相关函数 atoi,atol,strtod,strtol,strtoul 头文件:stdlib.h 功能:将字串转换成浮点型数 说明:atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回.参数nptr字符串可包含正负号.小数点或E(e)来表示指数部分,如123.456或123e-2 返回值:返回转换后的浮点型数. 参数:np

SQL字符串转换函数

Ascii()函数 返回字符串表达式最左端字符的ASCII码值 语法格式:ascii(字符表达式) 例:ASCII('A'),ASCII('a'),ASCII(0),ASCII(9) 返回 65 97  48  57 Char()函数 将ASCII码转换为字符 语法格式:char(数值表达式) 若输入的不是0-255之间的ASCII码值,则返回一个null值 Lower() upper() 函数 把字符串全部转换为小写/大写 语法格式:lower(字符表达式)   upper (字符表达式) S