的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