我们目前有一些代码可以从 int 中提取数字,但我需要将其转换为没有 snprintf 的平台,而且我担心缓冲区溢出。我已经开始编写自己的便携式(和优化的)snprintf,但有人告诉我在这里询问,以防有人有更好的主意。
int extract_op(int instruction)
{
char buffer[OP_LEN+1];
snprintf(buffer, sizeof(buffer), "%0*u", OP_LEN, instruction);
return (buffer[1] - 48) * 10 + buffer[0] - 48;
}
我们使用 C 字符串是因为速度非常重要。