linux 下write()函数和大家探讨。。。
我写了一个小程序,将一个int x[2] = {1 ,2} 这样的数组用write()函数写到一个文件里, 但是写入之后察看文件是乱码,乱码是^A^类似样式出现,最后缀一个@结束,察看一些资料发现说如果没有文件结束符就会自动后缀一个@。如果把数组改成char 类型就不会出现这个问题,文件中会正常现实数组内容。
但是write()的第二个参数是const void * (GNU/Linux 编程指南中说明)也就是说可以是任意类型都可以,难道使用write() 函数时,所有非char型数组都要转换成char 数组类型才可在write中使用么?小弟不明请大家指教。