点击(此处)折叠或打开
-
#include <stdio.h>
-
#include <unistd.h>
-
#include <sys/types.h>
-
#include <sys/stat.h>
-
#include <fcntl.h>
-
#include <time.h>
-
#include <string.h>
-
-
int Write_log_file(char *pFilename, char *pBuffer, int data_len)
-
{
-
int ret_val = -1;
-
int fd = -1;
-
mode_t f_attrib;
-
time_t cur_time;
-
struct tm *pTm;
-
char date_buf[50];
-
-
f_attrib = S_IRWXU | S_IRWXG | S_IRWXO;
-
/**/
-
fd = open(pFilename, O_RDWR|O_APPEND|O_CREAT, f_attrib);
-
if(fd < 0)
-
{
-
printf("open Failed:%d\n", fd);
-
goto _OVER_;
-
}
-
-
/**/
-
time(&cur_time);
-
pTm = localtime(&cur_time);
-
snprintf(date_buf, 50, "[%04d-%02d-%02d %02d:%02d:%02d]",
-
pTm->tm_year + 1900,
-
pTm->tm_mon + 1,
-
pTm->tm_mday,
-
pTm->tm_hour,
-
pTm->tm_min,
-
pTm->tm_sec);
-
/**/
-
ret_val = write(fd, date_buf, strlen(date_buf));
-
if(ret_val != (int)strlen(date_buf))
-
{
-
printf("write Failed:%d\n", ret_val);
-
goto _OVER_;
-
}
-
-
/**/
-
ret_val = write(fd, pBuffer, data_len);
-
if(ret_val != data_len)
-
{
-
printf("write Failed:%d\n", ret_val);
-
goto _OVER_;
-
}
-
-
_OVER_:
-
if(fd >= 0)
-
{
-
close(fd);
-
}
-
return ret_val;
-
}
-
-
/**/
-
int main(int argc, char **argv)
-
{
-
int i;
-
char buffer[20];
-
-
for(i = 0; i < 20; i++)
-
{
-
snprintf(buffer, 20, "hello%dhello\n", i);
-
Write_log_file((char *)"./a.txt", (char *)buffer, strlen(buffer));
-
}
-
-
return 0;
- }