我已经阅读了很多想法,如何将字符串的单个字符串转换为整数,但我正在使用C中的指针进行挣扎。我猜的是:
strftime(buffer, sizeof("0000"), "%H%M", tick_time);
onedigit = atoi(&buffer[1]);
所以我希望将时间的第一位数转换为整数。
如果你有一种更“优雅”的方式 - 让我知道。
答案 0 :(得分:4)
要将第一个字符作为所需的整数:
onedigit = buffer[0] - '0';
这将获取第一个(通常为ASCII)字符,减去0
的(ASCII)值,为您留下0..9范围内的整数值。
您可以轻松地对字符串中的其他数字字符执行相同操作,例如获得十位数:
tensdigit = buffer[1] - '0';