📄 appinit_nobase64.c
字号:
#include "midware.h"#include "public.h"CDatabase theDatabase;int tpsvrinit(int argc, char *argv[]){ char szTemp[200] = ""; int iRet = 0; char szServer[30] = ""; char szDataBase[30] = ""; char szUser[30] = ""; char szPass[30] = "";/* if (tpopen() == -1) {2 3 sprintf(szTemp,"Open Database error = %d",tperrno ); userlog(szTemp); return -1; } */ if ((gf_GetINIString("config.ini", "DataBase","Server","",szServer) !=0) || (gf_GetINIString("config.ini", "DataBase","DataBase","",szDataBase) !=0) || (gf_GetINIString("config.ini", "DataBase","User","",szUser) !=0) || (gf_GetINIString("config.ini", "DataBase","Pass","",szPass) !=0)) { MW_Trace("没有设置config.ini文件中的数据库连接参数!"); return -1; } DB_Construct(&theDatabase); iRet = DB_Open(&theDatabase,szServer,szDataBase,szUser,szPass); if (iRet == 0) { MW_Trace("数据库连接失败!"); return(-1); } else { return 0; } return 0;}void tpsvrdone(){// tpclose(); DB_CommitTransaction(&theDatabase); DB_Close(&theDatabase,1);}int gf_GetINIString(char * aszFileName, /*INI文件名*/ char * aszSession, /*段*/ char * aszKey, /*关键值*/ char * aszDefault, /*缺省值*/ char * aszText) /*返回值*/{ FILE * fp; char szLineBuf[255] = ""; /*一行数据的缓冲*/ int iInSession = 0; /*是否在所需的SESSION中*/ int iHaveKey = 0; int i ,j; int iLen = 0; int iBegin = 0; char szSession[40] = ""; char szKey[40] = ""; char szText[255] = ""; strcpy(aszText,aszDefault); if ((fp = fopen(aszFileName,"r")) == NULL) return -1; while(fgets(szLineBuf,254,fp) != NULL) { /*分析输入的字符行*/ iLen = strlen(szLineBuf); /*取第一个字符*/ i = 0; for (;i < iLen && szLineBuf[i] == ' ' && szLineBuf[i] < '!' ;i ++ ); if (i == iLen ) continue; if (szLineBuf[i] == '#') continue; if (szLineBuf[i] == '[') { if (iInSession) /*当前已在所需的Session中,但有遇到下一个session,故退出(不存在Key)*/ { fclose(fp); return 101; } /*取Session*/ for (j = i + 1;(j < iLen && szLineBuf[j] != ']');j ++); memcpy(szSession,szLineBuf + i + 1,j - i - 1); szSession[j - i - 1] = '\0'; if (strcmp(szSession,aszSession) == 0) iInSession = 1; continue; } else if (iInSession) /*是Key时,应已在Session中,否则continue*/ { /*取Key*/ for (j = i ;(j < iLen && (szLineBuf[j] != ' ' && szLineBuf[j] != '=' ) && szLineBuf[j] >= '0');j ++); memcpy(szKey,szLineBuf + i ,j - i ); szKey[j - i ] = '\0'; i = j; if (strcmp(szKey,aszKey) == 0) /*找到Key*/ { /*取返回值*/ for (;i < iLen && (szLineBuf[i] < '-' || szLineBuf[i] == '=') ;i ++ ); for (j = i ;j < iLen && (szLineBuf[j] != '#') ;j ++); memcpy(szText,szLineBuf + i ,j - i - 1); rtrim(szText,0); szText[j - i - 1] = '\0'; strcpy(aszText,szText); iHaveKey = 1; break; } } else { continue; } } fclose(fp); if (iHaveKey) return 0; else return 100;}void rtrim(char * aszData,int aiLen ){ int iLen,i; iLen = strlen(aszData); if (aiLen == 0) { /*//直接rtrim()*/ for (i = iLen -1 ;i >=0 ;i--) { if(aszData[i] != ' ') return; if(aszData[i] == ' ') aszData[i] = '\0'; } return; } if (iLen > aiLen) { for (i = iLen -1 ;i >=aiLen ;i--) { /*//if(aszData[i] == ' ')*/ aszData[i] = '\0'; } } else { for (i = iLen;i<aiLen ;i++) aszData[i] = ' '; aszData[aiLen ] = '\0'; }}void RightTrim(char * szData){ int iEnd; int i=0; iEnd=strlen(szData); for (i=strlen(szData)-1;i>=0 ;i--) { if (szData[i]!=' ') { iEnd=i; break; } } szData[strlen(szData)]=' '; szData[iEnd+1]='\0';}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -