⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utility.c

📁 MD5、RSA加解密,主要用在Linux環境執行。有編寫makefile提供編譯
💻 C
字号:
#include <stdarg.h>#include <stdio.h>#include <stdlib.h>#include <time.h>#include "utility.h"void WriteLog( char *fmt,... ){    FILE *fp;    time_t tval;    struct tm *now;    va_list args;	char szLog[1024];	char szDateTime[25];	    if ( ( fp =fopen( "/var/log/nas.log", "a" ) ) !=NULL )    {        tval = time( NULL );        now = localtime( &tval );        fprintf( fp,"[%d/%02d/%02d %d:%02d:%02d]",			now->tm_mon+1, now->tm_mday, now->tm_year+1900,now->tm_hour, now->tm_min, now->tm_sec );        va_start( args,fmt );		vsprintf(szLog,fmt,args);        vfprintf( fp, fmt, args );        fprintf( fp, "\n" );		printf("%s\n",szLog);        fclose( fp );        va_end( args );    }	}int gettoken(char* string,int pos,char* delimit,char* value){    char strTmp[256],strData[256];    char* pstrTmp,*pstrData;    int i;    if (strlen(string)==0) {        return 0;    }    pstrTmp = strTmp;    pstrData = strData;    strcpy(strTmp,string);#ifdef _DEBUG    printf("String=%s,pos=%d,delimit=%s\n",strTmp,pos,delimit);#endif    pstrData = strtok(strTmp,delimit);	if (pos==1) {        if (pstrData==NULL) {            return 0;        }		strcpy(value,pstrData);		return 1;	}    i = 1;    while (pstrData=strtok(NULL,delimit)) {        i++;        if (i==pos) {            strcpy(value,pstrData);            return i;        }    }    return 0;}void truncateCRLF(char* string){    int i;    if (strlen(string)==0)      return;    for (i=0;i<=strlen(string)-1;i++) {		if ( (*(string+i) == 0x0d) || (*(string+i) == 0x0a) ) {			*(string+i) = 0;			break;		}	}}void trimR_space(char* string){	int counter;	for (counter=strlen(string)-1; string[counter] == ' '; counter--);	string[counter+1] = (char) NULL;}void trimL_space(char* string){	int counter;	for (counter=0; string[counter] == ' '; counter++);	strcpy(string,&string[counter]);}void trim_space(char* string){	trimR_space(string);	trimL_space(string);}void get_param_value(FILE* f,char* param,char* value,char* delim){	char strTmp[256],strParam[128],strValue[128];	char *param_n, *data;	param_n = strParam;	data = strValue;    fseek(f,0,SEEK_SET);    while (fgets(strTmp,256,f)!=NULL) {        truncateCRLF(strTmp);        gettoken(strTmp,1,delim,param_n);        trim_space(strParam);        if (strcmp(strParam,param)==0) {            gettoken(strTmp,2,delim,data);            strcpy(value,strValue);        }		#ifdef _DEBUG		printf("Read data from file : %s,%s\n",strTmp,strParam);		#endif	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -