📄 strtoul.c
字号:
/* strtoul.c - replacement strtoul *//* (C) 2004 by Matthias Andree. License: GNU GPL v2. */#include <errno.h>#include <limits.h>unsigned long strtoul(const char *str, char **endptr, int base){ unsigned long ret = 0; if (base != 10) { errno = EINVAL; return 0ul; } while (*str >= '0' && *str <= '9') { if (ret * 10 < ret) goto ovl; ret *= 10; if (ret + (*str - '0') < ret) goto ovl; ret += (*str - '0'); str++; } if (endptr) *endptr = (char *)str; return 0;ovl: errno = ERANGE; return ULONG_MAX;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -