求教关于数值与字符串转换
see22 2007-01-30 11:23:44 比如一个int数值,转换为char *,我们可以这样:
sprintf(str, "%d", i);
可是如果数值是pid_t, size_t等等,却又如何用通用的方法转换,
通过查询我现在使用的操作系统(for x86)头文件,可以得知pid_t == int, size_t == unsigned int
那么也可以这么转换
sprintf(str, "%d", pid);
sprintf(str, "%u", size);
可是这种死代码不具有移植性,如果机器换成16位或者64位,代码可能就会出错,
现在请问各位老大,如何写出具有移植性的代码,通常这种情况你们是如何处理的?
顺便提一下, 我看到一些软件在configure时,会测试数值的长度,但是只是看到表面,
具体如何处理还不知道,可否告知,但是感觉这种方法比较麻烦,有没有比较简单通用的方法?