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

📄 cb_profile.cpp

📁 LINUX系统下基于ARM处理器的使用GPRS方式通过SOCKET数据包进行煤矿瓦斯监控的程序.这是在黑龙江省现场运行的程序源代码.
💻 CPP
字号:
/*
* Copyright (c) 2004,哈尔滨驰博电子公司软件部
* All rights reserved.
* 
* 文件名称:CB_Profile.cpp
* 文件标识:
* 摘    要:
* 
* 当前版本:1.0.3
* 作    者:Sam
* 完成日期:2004年8月16日
*
* 取代版本:1.0.2 
* 原作者  :Sam
* 完成日期:2004年6月10日
*/

#include "CB_Profile.h"
#include "CB_String.h"
#include "CB_Unit.cpp"
#include "Afx.h"

//##ModelId=4087631D036B
int CB_Profile::getValue(char *key, char *result)
{
  if (strlen (key) <= 0)
     return -1;
  
  char key_buf[20];
  strcpy (key_buf, key);

  return readData (key_buf, result);
}

//##ModelId=408763A70021
CB_Profile::CB_Profile()
{
  initialize();
}


//##ModelId=408763A7003F
CB_Profile::CB_Profile(char *fileName)
{
  initialize ();
  setFileName (fileName);
}

//##ModelId=408763A700A3
CB_Profile::~CB_Profile()
{  

}

//##ModelId=40876423035E
void CB_Profile::initialize()
{

}

//##ModelId=408764FE0042
void CB_Profile::setFileName(char *fileName)
{
  clearFileName();
 
  if (fileName == NULL)
    return;
  
  strcpy (m_fileName, fileName);
}

//##ModelId=4087650100B4
char *CB_Profile::getFileName()
{
  return m_fileName;
}

//##ModelId=4087847B03A0
int CB_Profile::readData(char *key, char *result)
{
  FILE *fp;
  fp = fopen (getFileName(), "r");
  if (fp == NULL)
    return -1;
  if (readData (key, result, fp) == NULL)
  {
     fclose (fp);
 	 return -1;
  }

  fclose(fp);

  return 0;
}

//##ModelId=4087881A001E
char *CB_Profile::readData(char *key, char *result, FILE *fp)
{
  char buf[80];
  int len = sizeof (buf);
  CB_Unit::clearBuf(buf,len);

  while (fgets (buf, len, fp))
  {
   if (index(buf, '['))
   {
      rindex (buf, ']');
	  char *p;
	  p = index (buf, '[');
	  p = p+1;
	  strcpy (buf, p);
	  p = strtok (buf, "]");
	  strcpy (buf, p);
	  if (strncasecmp (key, buf, strlen (key)) == 0)
  	  {
		CB_Unit::clearBuf (buf, len);
	    fgets (buf, len, fp);
		CB_Unit::lineToStr (buf);
 		strcpy (result, buf);
		return result;
	  }
	  else
		continue;
	}

  }
  
  return NULL;
}



//##ModelId=409C33D20123
void CB_Profile::clearFileName()
{
  int len = sizeof(m_fileName); 
  CB_Unit::clearBuf (m_fileName, len);
}



⌨️ 快捷键说明

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