char* StringUtil::TrimQuotationChar(char *str) { if(str == NULL) return NULL; int nLen = strlen(str); if(nLen > 0) { if(*str == '\'' || *str == '\"') { *str = ' '; } if(*(str + nLen - 1) == '\'' || *(str + nLen - 1) == '\"') { *(str + nLen - 1) = ' '; } } return TrimAll(str); }
int CFunc::MyInifetch(const char *file, const char *sect, const char *key, char *value) { FILE *fp; char line[MAXLINE]; char *p; int len; if ((fp=fopen(file, "r")) == NULL) return 0; len = strlen(sect); memset(value, 0, sizeof(value)); while ((p=fgets(line, MAXLINE, fp)) != NULL) { TrimAll(line);//休整该行 if (*line == ';') /* 如果读到注释语句 */ continue; if (*line != '[') continue; if (strncmp(&line[1], sect, len) == 0 && line[1+len] == ']') break; } if (p != NULL) { len = strlen(key); while (fgets(line, MAXLINE, fp) != NULL ) { //TrimAll(line); //TrimLeft(line); if (*line == ';') /* 如果读到注释语句 */ continue; if (*line == '[') { if(fclose(fp)==EOF) { printf("文件关闭失败002!"); } return 0; } if (memcmp(line, key, len) == 0 && line[len] == '=') { //TrimLeft(line+len+1); strcpy(value, line+len+1); if ((p=strrchr(value,'\x0a')) != NULL) *p='\0'; if ((p=strrchr(value,'\x0d')) != NULL) *p='\0'; break; } } if(fclose(fp)==EOF) { printf("文件关闭失败002!"); } return 1; } else { if(fclose(fp)==EOF) { printf("文件关闭失败002!"); } return 0; } }