根据日志文件最近的报告经常做统计,然后,数据录入excel。
日志形如:
缴费总笔数 12
缴费用户数 123
缴费金额数 1234.1
缴费50元以上笔数 321
缴费50元以上用户数 342
缴费50元以上金额 11.75
缴费100元以上笔数 42
当中的文字和排列顺序都是excel中既定的,须要单独把数据复制进去。每次都单独一个数据复制很麻烦,就考虑一次复制全部文本,然后剪切板里自己主动去掉文字剩下数字,粘贴到excel表中就正好合适。
比如复制日志数据,程序处理后,剪切板中就是例如以下数据,仅仅须要打开程序开启监听就能够。
12
123
1234.1
321
342
11.75
42
关键函数例如以下
void ChangeContent(char* str)
{
char * line = (char*)malloc(50);
char * newstr = (char*)malloc(sizeof(str));
int i=0,len=0;
int length = strlen(str);
bool find=false;
ZeroMemory(newstr,sizeof(newstr));
if (str != NULL && strcmp(str,"")!=0)
{
while (len<length)
{
find = false;
ZeroMemory(line,sizeof(line));
for (;*str!='\n' && len<length;str++)
{
//提取一行数字 i代表数字的长度
if (*str == ' ' && *(str+1)!=' ')
{
line=str;
i=-1;
find = true;
}
if (find) i++;
len++;
}
*(line+i+2)='\0';
lstrcat(newstr,line);
if (find) str+=i;
if (i == 0) len++; else len+=i;
//ZeroMemory(str,sizeof(str));
}
}
OpenClipboard(NULL);
EmptyClipboard();
HGLOBAL hMen;
hMen = GlobalAlloc(GMEM_MOVEABLE, ((strlen(newstr)+1)*sizeof(TCHAR)));
LPSTR lpStr = (LPSTR)GlobalLock(hMen);
strcpy(lpStr,newstr);
// 释放锁
GlobalUnlock(hMen);
// 把内存中的数据放到剪切板上
SetClipboardData(CF_TEXT, hMen);
change = true;
CloseClipboard();
}
运行该文件,也可以在以后通过一个小
版权声明:本文博客原创文章。博客,未经同意,不得转载。