的write
功能在下面的代码不会打印浮点数:使用写入打印浮点数
#include <unistd.h>
int main(){
float f = 4.5;
write(1,&f,sizeof float);
return 0;
}
这导致:
�@
鉴于:
int main(){
char *c = "Hello world";
write (1,c,strlen(c)+1);
return 0;
}
按预期打印Hello world
。
我错过了什么?
在此先感谢。
嗯,是printf不是一个选项,或者你只是在做练习?写入只是将原始二进制文件放在屏幕上,而浮点格式需要解释。 – zdav 2010-04-25 17:22:38
printf不是一个选项,因为这将以mips程序集编写 – Tom 2010-04-25 17:24:36
@Tom:函数的可用性不依赖于CPU体系结构。 – kennytm 2010-04-25 17:48:26