我只使用C程序的读和编写系统调用。因此,不能使用printf,getC等等任何东西,因为我不能使用printf,所以我需要使用sprintf。但是,我找不到如何将Sprintf与文件I/O系统调用一起使用的示例。我需要o使用写(....),读(.....)
通过系统调用更简单,并且比对C file-i/o库的呼叫要较低。这些系统调用的使用需要一个名为" fcntl.h"的标头文件:
#include <fcntl.h>
"creat()
"系统调用当然会创建一个文件。它具有语法:
<file descriptor variable> = creat( <filename>, <protection bits> );
ex:
#define RD_WR 0666
int fd; /Define file descriptor. */
fd = creat( "data", RD_WR );
"open()"
系统调用打开现有的读取或写作文件。它具有语法
<file descriptor variable> = open( <filename>, <access mode> );
O_RDONLY Open for reading only.
O_WRONLY Open for writing only.
O_RDWR Open for reading and writing.
ex:
int fd;
fd = open( "data", O_WRONLY );
"close()"
系统调用非常简单。当无需进一步访问它时,它所要做的就是"close()"
打开文件。"close()"
系统调用具有语法:
close( <file descriptor> );
"write()"
系统调用将数据写入打开文件。它具有语法:
write( <file descriptor>, <buffer>, <buffer length> );
ex:
float array[10];
...
write( fd, array, sizeof( array ) );
"read()"
系统呼叫从打开文件中读取数据。它的语法与"write()"
调用的语法完全相同:
read( <file descriptor>, <buffer>, <buffer length> );