📄 getword.h
字号:
/*=============================================
** 2005-8-24 **
** 获得单词 **
** lizhu zhang **
=============================================*/
/*=============================================
**函数用能: 从一行文件中获得一个单词
**参数说明:[in]pString:接受传入的字符串
** [out]col :对列进行计数
** [out]pWord "返回查到的单词
**返回值 :无
**===========================================*/
void FGetWord(const char *pString,int &col,char *pWord)
{
char word[2048];
char newWord[2048];
char tmpWord[2];
strcpy(word,pString);
int i = col;
int j = 0;
int iCount = i;
int jieXian = 1;
//做为识别'的标志
int flag = 0;
//忽略开始时候源程序中的空格
while(word[i]==' ' && word[i]!='\0')
i++;
iCount = i;
//如果开始即为一行的结束则为空行
if(word[i]=='\0')
{
col = i;
return;
}
else//该行不为空行
{
while(word[i]!=' ' && word[i]!='\0')
{
tmpWord[0] = word[i];
tmpWord[1] = '\0';
if(FJieXianFu(tmpWord))
{
//第一个字符就是界限符
if(i == iCount)
{
//jieXian = 0;
//将单个的字母连接成单词
newWord[j] = word[i];
//看i+1位,是否为双界限符
i ++;
j ++;
if(word[i]=='\0')
break;
//=======================
tmpWord[0] = word[i];
tmpWord[1] = '\0';
//=======================
//是双界限符
if(FJieXianFu(tmpWord))
{
newWord[j] = word[i];
//==================
j ++;
//退出循环
break;
}
else
{
//获得实常数
if(word[i]>='0' && word[i]<='9'&&(word[i-1] =='-'||word[i-1]=='+'))
{
while((word[i]>='0' && word[i]<='9')|| word[i] =='-'||word[i]=='+' || word[i] == 'e' ||word[i] == '.')
{
newWord[j] = word[i];
i++;
j++;
}
continue;
}
else
if(word[i]=='\'')
{
if(flag == 0)
{
newWord[j] = word[i];
i++;
j++;
flag = 1;
continue;
}
else
{
flag = 0;
newWord[j] = word[i];
break;
}
continue;
}
i -= 1;
break;
}
}
else//不是第一位则返回前面的部分
{
i -= 1;
break;
}
}
else
{
//
if(word[i] == '!')
{
if(i != iCount)
{
i -= 1;
break;
}
else
{
if(word[i] == '!')
{
char tempChar;
tempChar = tmpWord[0];
tmpWord[0] = word[i+1];
if(FJieXianFu(tmpWord))
{
newWord[j] = '!';
newWord[j+1] = tmpWord[0];
j += 2;
i += 1;
break;
}
else
tmpWord[0] = tempChar;
}
}
}
else
{
//将单个的字母连接成单词
newWord[j] = word[i];
j++;
//列加一
i++;
}
}
}
col = i;
newWord[j] = '\0';
strcpy(pWord,newWord);
// cout<<"pWord:"<<pWord<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -