|
|
您好!我用以下代码创建并写入文件,文件可以正确创建,但不能正确写入,文件还是空的,而返回值i都是正确的.
请大侠指教,谢谢!
#include <errno.h>
#include <time.h>
#include <sys/stat.h>
#include <fcntl.h>
static time_t t;
static struct tm* tm;
static int fd;
static char filename[16],endflg=0xFF;
static char filehead[10]={'a','b','c','d','e','f','g','h','i','j'};
static char serialno[12]={'1','2','0','0','0','1','3','4','5','1','0','0'};
void main(void)
{
int i;
unsigned char *p;
time(&t);
tm =localtime(&t);
sprintf(filename,"/%02d%02d%02d%02d%02d%02d.dat",tm->tm_year-100,1+tm->tm_mon,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
printf(filename);
if(fd=open(filename,O_RDWR | O_CREAT,S_IRUSR | S_IWUSR)==-1)
{
printf("open file error\n");
}
i=write(fd,filehead,10);
printf("i=%d\n",i);
i=write(fd,serialno,12);
printf("i=%d\n",i);
i=write(fd,&endflg,1);
printf("i=%d\n",i);
write(fd,&endflg,1);
close(fd);
} |
|