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

📄 convert.h

📁 用vc开发的cdma手机模块收发短信的功能
💻 H
字号:

int GB_UNICOD(char *pSrc)
{
	int nDstLength = 0 ;		// UNICODE宽字符数目
	WCHAR wchar[128];			// UNICODE串缓冲区
	unsigned int Datasheet[10000][2];                //****建立“字符-UNICODE”对应表	
	FILE *fp;
	int ii = 0,x;
	char ch = 'a';

	unsigned char	sbuf_char[256];  

	fp = fopen("in.dat","r");
	while (ch !=EOF)
	{
		fscanf(fp,"%x",&x);
		Datasheet[ii][0] = x;
		fscanf(fp,"%x",&x);
		Datasheet[ii][1] = x;
		
		ch = fgetc(fp);
		while ((ch != 10)&&(ch != EOF))
		{
			ch =fgetc(fp);
		}

		ii++;
	}
   
	unsigned int	temdata;
	int nSrcLength;
	
	nSrcLength=strlen(pSrc);

	for ( int k=0;k<nSrcLength;k++ )
	{
		sbuf_char[k] = *(pSrc+k);			//********先将源串指针里的字符烤靠字符数组里
	}
	sbuf_char[nSrcLength+1]=0;
	for (int j=0;j<nSrcLength;j++ )
	{
		if (sbuf_char[j] > 0xa0)
		{	
			temdata = (sbuf_char[j]-128)*256+sbuf_char[j+1]-128;
			for (int k2 = 0; k2<10000; k2++)    //*** 循环查表
			{
				if(	temdata == Datasheet[k2][0])
				{	
						wchar[nDstLength]=Datasheet[k2][1];
						nDstLength++;
						j++;
						break;
				}
			}

		}
		else
		{
			wchar[nDstLength]=sbuf_char[j];
			nDstLength++;
		}

	}
	
	for(int i=0; i<nDstLength; i++)
	{
		*pSrc++ = wchar[i] >> 8;		// 先输出高位字节
		*pSrc++ = wchar[i] & 0xff;		// 后输出低位字节
	}

	return nDstLength;
	
}

⌨️ 快捷键说明

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