예제 #1
0
파일: StringUtil.cpp 프로젝트: hryyx/tuxone
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);
}
예제 #2
0
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;
	}
}