无法在 C 中将字符串转换为 unsigned long

Cannot convert string to unsigned long in C

我像这段代码一样将字符串转换为 unsigned long。

String t = "1667451600";
unsigned long ret;
ret = strtoul(t,NULL,10);

它显示这样的错误。

test:122:19: error: cannot convert 'String' to 'const char*'
  122 |     ret = strtoul(t,NULL,10);
      |                   ^
      |                   |
      |                   String

exit status 1
cannot convert 'String' to 'const char*'

如何在 C 中将字符串转换为 unsigned long?

String 不是 C 中的标准类型。试试这个:

char *t = "1667451600";
unsigned long ret;
ret = strtoul(t,NULL,10);