关于字符串的处理有关问题,这是查找cpp文件中正文中含有中文的函数,排除注释中出现的中文,ListShow(strLine,i)是显示这一行行数和这一行的内容

关于字符串的处理问题,这是查找cpp文件中正文中含有中文的函数,排除注释中出现的中文,ListShow(strLine,i)是显示这一行行数和这一行的内容
[code=C/C++][/code]
  CString strChMark="//";  
  CString strMark1="/*";  
  CString strMark2="*/"; 
  int i=1;
  while (file.ReadString(strLine))  
  {  

  indexCh=0;  
  indexChMark=0;  
  indexChMark=strLine.Find(strChMark);

  if ((indexChMark==-1)&&(strLine.Find(strMark1)==-1)&&(strLine.Find(strMark2)==-1))  
  {  
Flag=FALSE;
  continue;  
  }  

  if ((strLine.Find(strMark1)>=0)||(indexChMark>=0))  
  {  
  Flag=FALSE;  
  continue;  
  }  
  if ((strLine.Find(strMark1)<0)&&(strLine.Find(strMark2)>=0))  
  { //不包含一行内存在*/的情况 且前面有汉字  
  Flag=TRUE;  
  continue;  
  }  
  if (!Flag)  
  {  
  strcpy((char *)BufferLine,(LPCSTR)strLine);  
   
  while ((BufferLine[indexCh]!='\r')&&(BufferLine[indexCh+1]!='\n')  
  &&(BufferLine[indexCh]!='\0'))  
  {  
  if (BufferLine[indexCh]>=128)  
  {  
  if (indexChMark>0||strLine.Find(strMark1))  
  {  
  if (indexCh<indexChMark||indexCh<strLine.Find(strMark1))  
  {  
  ListShow(strLine,i); 

  break;  
  }  
  else  
  {  
   
  break;  
  }  
  }  
  else  
  {  
  ListShow(strLine,i);
  break;  
  }  
  }  
  else  
  {  
  indexCh++;  
  }  
  }  
  }  
  i++;
}