关闭

文件测试

378人阅读 评论(0) 收藏 举报
分类:
// test.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <iostream>


typedef struct _LOG_OPERATE
{
HANDLE h_writing_log_file;


}LOG_OPERATE;
LOG_OPERATE SERVER_LOG_OPERATE;




int log_open(void)
{
char log_file_name[32];
unsigned int file_name_len = strlen("log_2013_12_03.txt");
HANDLE hFile;


/* 获取系统时间,日志是以时间日期命名的 */
SYSTEMTIME sys_time;
GetLocalTime( &sys_time );


/* 根据日期来确定日志名称 */
    sprintf(log_file_name, "log_%0004d_%02d_%02d.txt", sys_time.wYear, sys_time.wMonth, sys_time.wDay);
log_file_name[file_name_len] = '\0';


/* 打开或创建日志文件 */
hFile = CreateFile(log_file_name,           
                       GENERIC_READ|GENERIC_WRITE,         
                       FILE_SHARE_READ,       
                       NULL,                  
                       OPEN_ALWAYS,            
                       FILE_ATTRIBUTE_NORMAL,
                       NULL);
if(INVALID_HANDLE_VALUE == hFile)
{
printf("Open log file Error! \r\n");
SERVER_LOG_OPERATE.h_writing_log_file = NULL;
return -1;
}


/* 更新全局日志信息结构体 */
SERVER_LOG_OPERATE.h_writing_log_file = hFile;
return 0;
}




int log_write(void *p_log_content,DWORD len)
{
DWORD NumberOfBytesWritten;
BOOL result;


/* 如果日志操作无效,则重新打开日志 */
if(NULL==SERVER_LOG_OPERATE.h_writing_log_file)
{
if(0!=log_open())
{
printf("Write log file Error! \r\n");
return -1;
}
}


/* 写入日志内容 */
result = WriteFile( SERVER_LOG_OPERATE.h_writing_log_file,
                        p_log_content,
len, 
&NumberOfBytesWritten,
NULL
  );
if( (result!=1)||(NumberOfBytesWritten!=len) )
{
printf("Write log file Error! \r\n");
return -1;
}




WriteFile( SERVER_LOG_OPERATE.h_writing_log_file,
               "\r\n",
               4, 
               &NumberOfBytesWritten,
  NULL
 );




return 0;
}






int _tmain(int argc, _TCHAR* argv[])
{
//HANDLE hFile;
//unsigned char file_buff[10] = "fuck me!";
//unsigned char file_buff_r[10];
//DWORD NumberOfBytesWritten;
//DWORD readed_num,read_num;


//SYSTEMTIME sys;
//GetLocalTime( &sys );
//printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n", sys.wYear,
//     sys.wMonth, 
//     sys.wDay, 
//     sys.wHour, 
//     sys.wMinute, 
//     sys.wSecond,
//     sys.wMilliseconds,
//     sys.wDayOfWeek );


//hFile = CreateFile("fuck_me_1.txt",           // file to open
 //                      GENERIC_READ|GENERIC_WRITE,          // open for reading
 //                      FILE_SHARE_READ,       // share for reading
 //                      NULL,                  // default security
 //                      CREATE_NEW,            // existing file only
 //                      FILE_ATTRIBUTE_NORMAL, // normal file
 //                      NULL);
//if(hFile!=NULL)
//{
// printf("Start write file!");
// WriteFile( hFile, // 文件句柄
 //                  file_buff, // 包含写向文件的数据
 //                  8, // 数据包含的字符串的个数
 //                  &NumberOfBytesWritten,
//       NULL
//     );


// //CloseHandle(hFile);


// //hFile = CreateFile("fuck_me_1.txt",           // file to open
 // //                     GENERIC_READ,          // open for reading
 // //                     FILE_SHARE_READ,       // share for reading
 // //                     NULL,                  // default security
 // //                     OPEN_EXISTING,            // existing file only
 // //                     FILE_ATTRIBUTE_NORMAL, // normal file
 // //                     NULL);


// SetFilePointer(hFile,0,0 ,FILE_BEGIN);


// ReadFile( hFile,
//      file_buff_r,
 //                 5,
 //                 &readed_num,
 //                 NULL
// );


// file_buff_r[5]= '\0';
// printf("Read data:%s",&file_buff_r[0]);


// CloseHandle(hFile);
//}


log_open();


while(1)
{


}

return 0;
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:130327次
    • 积分:1875
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:38篇
    • 译文:0篇
    • 评论:16条
    最新评论