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

📄 mycommon.cpp

📁 此程序实现了表达式求值
💻 CPP
字号:
//mycommon.cpp

#include "mycommon.h"
#include <stdio.h>
#include <windows.h>

//函数定义
int GetNameByTitle(const char* szFileTitle, char* szName, int size)
{
	if((szFileTitle == NULL) || (szName == NULL))
		return 0;

	lstrcpy(szName, szFileTitle);
	int len = lstrlen(szFileTitle);
	int index = 0;

	for(int i = len - 1; i >= 0; i--)
	{
		if(szName[i] == '.')
		{
			break;
		}
	}

	if(i >= 0)
		szName[i] = '\0';

	return 1;
}

/*
	StrToUpper
	将字符串中的小写字母转换为大写字母
*/
void StrToUpper(char* szSrc)
{
	int len = strlen(szSrc);

	for(int i = 0; i < len; i++){
		if(szSrc[i] >= 'a' && szSrc[i] <= 'z'){
			szSrc[i] = szSrc[i] - 32;
		}
	}
}

void trim(char* str)
{
	if(str == NULL)return;
	if(strlen(str) == 0)return;
	char* ptr1 = str;
	while((*ptr1 == ' ') || (*ptr1 == '\t') || (*ptr1 == '\n'))
		ptr1++;

	char* ptr = str + strlen(str) - 1;
	while((*ptr == ' ') || (*ptr == '\t') || (*ptr == '\n'))
		ptr--;
	*(ptr+1) = '\0';
	lstrcpy(str, ptr1);
}

int IsNumeric(const char* szSrc)
{
	if(szSrc == NULL)
		return 0;
	if(strlen(szSrc) == 0)
		return 0;

	int len = strlen(szSrc);
	for(int i = 0; i < len; i++){
		if(szSrc[i] > '9' || szSrc[i] < '0')
			return 0;
	}
	return 1;
}

int IsNumeric(const char ch)
{
	if(ch > '9' || ch < '0')
		return 0;
	return 1;
}

// Divide - 读取每个区段的数据
// 每个区段由','隔开
// szSrc:源串(配置文件中的一行)
// szDest:目标串(当前读取的某个区段的值 - 字符串)
// pos:相对源串的偏移量
// 返回值:如果源串中还有未处理的区段,则返回其偏移量
//         否则返回0,表示这一个字符串已处理完成
int Divide(const char* szSrc, char* szDest, int pos/*=0*/)
{
	int i = 0;
	int index = 0;
	int len = strlen(szSrc);

	for(i = pos; i < len; i++)
	{
		//一个区段结束
		if(szSrc[i] == ',')
		{
			szDest[index] = '\0';
			return (i+1);
		}
		else{
			szDest[index++] = szSrc[i];
		}
	}
	szDest[index] = '\0';
	trim(szDest);

	return 0;
}

// UnitConvert - 将单位转换为国际单位
// 返回与国际单位的比值
// 如果没有找到要转换的单位,返回1.0
// 如果本身要转换的便是国际单位,返回值也是1.0
// 如果文件找不到,返回-1.0
double UnitConvert(const char* szUnit)
{
	double result = 1.0;
	char buf[256];

	lstrcpy(buf, szUnit);
	trim(buf);

	if(0 == lstrcmp("V", buf) || 0 == lstrcmp("HZ", buf) || 0 == lstrcmp("A", buf))
	{
		result = 1.0;
	}
	else if(0 == lstrcmp("KV", buf) || 0 == lstrcmp("KHZ", buf) || 0 == lstrcmp("KA", buf))
	{
		result = 1000.0;
	}
	else if(0 == lstrcmp("MV", buf) || 0 == lstrcmp("MHZ", buf) || 0 == lstrcmp("MA", buf))
	{
		result = 1000000.0;
	}
	else if(0 == lstrcmp("mV", buf) || 0 == lstrcmp("mHZ", buf) || 0 == lstrcmp("mA", buf))
	{
		result = 0.001;
	}

	return result;
}

⌨️ 快捷键说明

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