【发布时间】:2013-03-22 17:40:21
【问题描述】:
如何使用 UNIX 的 write 系统调用将 int、float 或其他类型写入文件?
我想这样做而不使用任何 lib 函数,如 fprintf 或 fwrite。
我想使用文件描述符而不是FILE*。
再次打开后,文件必须完全按照写入的方式读取,无需知道要读取的大小。
【问题讨论】:
-
打开一个文件描述符,创建一个缓冲区并调用
write。你有什么问题? -
@squiguy 没有简单的方法吗?
-
@SAM:你认为还有比这更简单的方法吗??
-
@SAM:要编写人类可读的
int或float,您必须将其转换为数字,然后写入该数字的字符。对于float,如果内部表示使用与数字(例如十进制)不同的基数(例如二进制),那么这需要大量工作才能正确完成。
标签: c unix file-io system-calls printf