📄 eroomconfig.cpp
字号:
#include <stdio.h>
#include <string.h>
#include "Eroomconfig.h"
int GetConfig(char *filename, char *headname, char *keyname, char *desbuf)
{
FILE *rfp;
char rdbuff[WL_MAXBUFF];
char buff[WL_MAXBUFF];
int find = 0, find1 = 0;
int max_int = 1;
int i, j, len;
desbuf[0] = 0x00;
if ((rfp = fopen(filename, "r")) == NULL) { // when open error
return(0);
}
while(fgets(rdbuff, WL_MAXBUFF, rfp) != NULL) {
len = strlen(rdbuff);
for(i=0;i<len;i++) {
if(rdbuff[i] != ' ' && rdbuff[i] != '\t') {
break;
}
}
if(rdbuff[i] == ';' || rdbuff[i] == '\n' || rdbuff[0] == 0x00) {
continue;
}
if(find == 0) {
memset(buff, 0x00, WL_MAXBUFF);
find1 = 0;
if(rdbuff[i] == '[') {
for(j=i+1;j<len;j++) {
if(rdbuff[j] == ']') {
find1 = 1;
memcpy(buff, &rdbuff[i+1], j-1);
break;
}
}
}
if(!find1) {
continue;
}
if(strcmp(headname, buff) == 0) {
find = 1;
}
} else {
find1 = 0;
memset(buff, 0x00, WL_MAXBUFF);
for(j=i;j<len;j++) {
if(rdbuff[j] == '=' || rdbuff[j] == '\t' || rdbuff[j] == ' ') {
find1 = 1;
memcpy(buff, &rdbuff[i], j-i);
break;
}
}
if(!find1) {
continue;
}
if(strcmp(keyname, buff) != 0) {
continue;
}
for(i=j+1;i<len;i++) {
if(rdbuff[i] != ' ' && rdbuff[i] != '\t' && rdbuff[i] != '=') {
break;
}
}
find1 = 0;
memset(buff, 0x00, WL_MAXBUFF);
for(j=i;j<len;j++) {
if(rdbuff[j] == '\t' || rdbuff[j] == ' ' ||
rdbuff[j] == '\n' || rdbuff[j] == 0x00 || rdbuff[j] == ';') {
find1 = 1;
memcpy(buff, &rdbuff[i], j-i);
break;
}
}
if(!find1) {
continue;
}
if(buff[0] != 0x00 && buff[0] != 0x20) {
strcpy(desbuf, buff);
fclose(rfp);
return(1);
} else {
desbuf[0]=0x00;
fclose(rfp);
return(0);
}
}
}
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -