📄 词法分析程序文档.txt
字号:
词法分析程序文档
UpdateData(TRUE);
int n=0,m,count=0,array2c=0,flag=0;
LPTSTR array1=new TCHAR[m_read.GetLength()+1];//将输入字符串强行转换为char,并存储在数组
LPTSTR array2=new TCHAR[m_read.GetLength()+1]; //中
_tcscpy(array1, m_read);
int nLength=m_read.GetLength();
FILE*ptr; //设置一个文件指针
char word[20];
while(n<=nLength){
if((ptr=fopen("wordbase.txt","r"))==NULL)//打开词库文件wordbase。
MessageBox("can not be opened!");
else{
rewind(ptr); //将文件指针置位
while((!feof(ptr))&&(flag==0))
{ fscanf(ptr,"%s",word); //将一组词语读到数组word中
for(m=0;m<=7;m++) //进行逐字判断
if(word[m]==array1[m+n])
count++;
if(count==8) //如果匹配成功则负值给数组array2
{
array2[array2c]=' ';
array2c++;
for(m=0;m<=7;m++)
array2[array2c+m]=array1[m+n];
array2c=array2c+m;
n=n+m;
array2[array2c]=' ';
array2c++;
flag=1;
count=0;
}
else
count=0;
}//while
flag=0;
if(count!=8) //如果匹配不成功,则直接输出
{ array2[array2c]=array1[n];
array2[array2c+1]=array1[n+1];
array2c=array2c+2;
n=n+2;
}
}//else
fclose(ptr);
}
m_write=array2;
UpdateData(FALSE); //将最后结果输出到输出对话框中
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -