www.pudn.com > NanDlg_CHtransform.rar > nanpy.h


#include 
using namespace std; 
#include 
#include 
typedef short unsigned int USINT; 
typedef unsigned char USCHAR; 
 
char b[6763][8];//分配空间 
char *c=&b[0][0]; 
int numb=0; 
int count=0; 
bool PYcontabl() 
{ 
	ifstream infile("D:\\py.txt",ios::binary); 
	ofstream outfile("D:\\pp.txt",ios::binary); 
	if(!infile) 
 		return  false ; 
	char a; 
	infile.read((char *)(&a),1);//read file  
	while(!infile.eof()) 
	{ 
		infile.read((char *)(&a),1); 
	} 
	infile.clear(); 
	infile.seekg(0); 
	int i=2;             
	int p=0;        //表示行 
	int flag=1;     //表示为汉字的的第一个字节,0表示是第二个 
	int flagpy=0;   //表示是输入码 
	for(int j=0;j<8;j++) 
	{ 
		b[p][j]='\0'; 
	} 
    while(!infile.eof()) 
	{ 
		 
		infile.read((char *)(&a),1); 
		if(a==0x0d) 
		{ 
			infile.read((char *)(&a),1); 
			p++; 
			i=2; 
			for(int j=0;j<8;j++) 
			{ 
		       b[p][j]='\0'; 
			} 
			flag=1; 
			flagpy=0; 
		} 
	    else if((flag==1)&&(flagpy==0)) 
		{ 
			b[p][0]=a; 
            flag=0; 
		} 
		else if((flag==0)&&(flagpy==0)) 
		{ 
			b[p][1]=a; 
			flagpy=1; 
		} 
		else if(flagpy==1) 
		{ 
			b[p][i]=a; 
			i++; 
		} 
         
		 
	} 
 
			 
	char *c=NULL;	 
	int size=sizeof(b); 
	c=(char *)&b[0][0]; 
 
	outfile.write((char *)c,size); 
	//c=(char *)&b[0][0]; 
	return true; 
 
} 
 
 
char *showPY(char *c,int i)//专门用来显示候选字的函数 
{ 
	 char *d=c; 
	 int nn=i; 
     char dd[10][3]; 
     char pp[10]={'0','1','2','3','4','5','6','7','8','9'}; 
	 for(int j=0;j<=nn;j++) 
	{ 
		dd[j][1]=*(d); 
		dd[j][2]=*(d+1); 
		dd[j][0]=pp[j]; 
	 } 
	 char *ddd=&dd[0][0]; 
	 return(ddd); 
     //m_char.SetWindowText(d); 
                  //  for(int j=1;j<=2;j++) 
				//	{    
			     //       dd[i][j]=b[i][j-1]; 
			//		} 
		     //       dd[i][0]=pp[i]; 
			//	 } 
		      //   d=&dd[0][0]; 
                // m_char.SetWindowText(d); 
}