亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? numscalechange.cpp

?? 對ASCII碼構成的字符串作進制轉換
?? CPP
字號:
/********************************************************************
	created:	2006/03/06
	created:	6:3:2006   10:31
	filename: 	D:\Projects\phs msg\str2int\str2int.cpp
	file path:	D:\Projects\phs msg\str2int
	file base:	str2int
	file ext:	cpp
	author:		BryanJ
	
	purpose:	將一個文件中16、8、2進制的ASCII字符串轉換成其它進制的
				ASCII字符串.

	注:	待轉換文件中除數字字符外只可有換行符,進制需要自行指定,
			見numScaleSrc、numScaleDst
			轉換順序是從高位開始,每12個二進制位作為一個整體進行轉換。
			除轉換為二進制外,末尾不足12bit的將以0填充。
*********************************************************************/
//#include "StrToData.h"
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
//------------------------------------------------------------------------
#define MAX_STR_LENGTH	10240
//------------------------------------------------------------------------
int IsBitOn(unsigned int  Value, unsigned int Bit)
{
	return ( (Value & (1 << Bit)) != 0 );
}
//------------------------------------------------------------------------
int Byte2ASCIIBinary(unsigned int c, char* outStr, int bitSize)//僅轉換后bitSize個bit
{
	int i = 0;
	if (bitSize <= 0)
	{
		return -1;
	}
	for (i = 0; i < 16; i++)
	{
		outStr[i] = '0';
	}
	
	for (i = 0; i < bitSize; i++)
	{
		if (IsBitOn(c, i))
		{
			outStr[bitSize - 1 -i] = '1';
		}
		else outStr[bitSize - 1 -i] = '0';
	}
	outStr[bitSize] = '\0';
	return 0;
}
//------------------------------------------------------------------------
long npf(int d,int n)
{
	int i;
	long m=1;
	for(i=0;i<n;i++)
		m*=d;
	return m;
}
bool isRightData(char c,int jz)
{
	if((jz<2)||(jz>16))
		return false;
	char ch[]="00112233445566778899aAbBcCdDeEfF";
	int i=0;
	for(i=0;i<jz;i++)
	{
		if(c==ch[i*2])return true;
		if(c==ch[i*2+1])return true;
	}
	return false;
}
long StrToData(char * strData,int jz)
{
	int l=strlen(strData);
	long IntValue=0;
	int bitValue;
	int i;
	for(i=0;i<l;i++)
	{
		if(isRightData(strData[i],jz))
		{
			if(isdigit(strData[i]))
				bitValue=strData[i]-0x30;
			else
			{
				switch(strData[i])
				{
				case 'a':
					bitValue=0x0a;
					break;
				case 'b':
					bitValue=0x0b;
					break;
				case 'c':
					bitValue=0x0c;
					break;
				case 'd':
					bitValue=0x0d;
					break;
				case 'e':
					bitValue=0x0e;
					break;
				case 'f':
					bitValue=0x0f;
					break;
				case 'A':
					bitValue=0x0a;
					break;
				case 'B':
					bitValue=0x0b;
					break;
				case 'C':
					bitValue=0x0c;
					break;
				case 'D':
					bitValue=0x0d;
					break;
				case 'E':
					bitValue=0x0e;
					break;
				case 'F':
					bitValue=0x0f;
					break;
				}
			}
			IntValue=bitValue*npf(jz,l-i-1)+IntValue;
		}
		else
			return -1;
	}
	return IntValue;
}
//------------------------------------------------------------------------

void main()
{
	FILE *fp = NULL;
	FILE *fout;
	char ch[MAX_STR_LENGTH]={0};
	char tepStr[16] = {0}, tepStr2[8] = {0};
	int i = 0, j = 0, iMsgLen = 0, iSrcUnit = 0, iDstUnit = 0;
	int numScaleSrc = 16;//待轉換文件的進制,可根據需要指定為2、8、16
	int numScaleDst = 2;//轉換后的進制,可為2,8,16


	if((fp=fopen("msg.txt","r"))==NULL)
 	{
 		printf("can not open file?\n");
		exit(0);
 	}
	if((fout=fopen("轉換結果.txt","w"))==NULL)
 	{
 		printf("can not open file!\n");
		exit(0);
 	}
	ch[0]=fgetc(fp);

	switch(numScaleSrc) 
	{
		case 2:
			iSrcUnit = 12;
			break;
		case 8:
			iSrcUnit = 4;
			break;
		case 16:
			iSrcUnit = 3;
			break;
		default:
			printf("不支持該進制!");
			return;
	}

	switch(numScaleDst) 
	{
		case 2:
			iDstUnit = 12;
			break;
		case 8:
			iDstUnit = 4;
			break;
		case 16:
			iDstUnit = 3;
			break;
		default:
			printf("不支持該進制!");
			return;
	}

	while (ch[0] != EOF)
	{
		while ( (ch[i] != '\n') && (ch[i] != 'EOF') )
		{
			i++;
			ch[i] = fgetc(fp);
			iMsgLen = i;
		}
		i = 0;
		
		
		int lData = 0;
		char chTemp[13] = "";
		int iCount = 0, iRes = 0;

		iCount = iMsgLen / iSrcUnit;
		iRes = iMsgLen % iSrcUnit;
		for (i = 0; i < iCount; i++)
		{
			for (int k = 0; k < iSrcUnit; k++)
			{
				chTemp[k] = ch[i*iSrcUnit +k];
			}
			chTemp[iSrcUnit] = '\0';
			lData = StrToData(chTemp, numScaleSrc);
			if (lData < 0)
			{
				printf("\nlData= %X, chTemp=%s,遇到非法字符,暫停\n", lData, chTemp);
				getchar();
				break;
			}
			else 
			{
				int y = 0, iStrLen = 0;
				switch(numScaleDst) 
				{
					case 2:
						if (0 != Byte2ASCIIBinary(lData, tepStr, iDstUnit))
						{
							printf("Byte2ASCIIBinary() failed\n");
							getchar();
						}
						printf("lData= %d, tepStr= %s\n", lData, tepStr);
						break;
					case 8:
						sprintf(tepStr, "%o", lData);
						iStrLen = strlen(tepStr);

						for (y = 0, tepStr2[0] = '\0'; y < (iDstUnit - iStrLen); tepStr2[++y] = '\0')
						{
							tepStr2[y] = '0';
						}

						sprintf(tepStr, "%s%o", tepStr2, lData);
						printf("lData= %d, tepStr= %s\n", lData, tepStr);
						break;
					case 16:
						sprintf(tepStr, "%x", lData);
						iStrLen = strlen(tepStr);

						for (y = 0, tepStr2[0] = '\0'; y < (iDstUnit - iStrLen); tepStr2[++y] = '\0')
						{
							tepStr2[y] = '0';
						}

						sprintf(tepStr, "%s%X", tepStr2, lData);
						printf("lData= %d, tepStr= %s\n", lData, tepStr);
						break;
					default:
						printf("\nbad output num scale\n");
				}
			}

			fprintf(fout, "%s", tepStr);
		}


		if (iRes != 0)
		{
			for (int k = 0; k < iSrcUnit; k++)
			{
				if (k < iRes)
				{
					chTemp[k] = ch[iCount*iSrcUnit +k];
				}
				else
				{
					chTemp[k] = '0';
				}
			}
			if (numScaleDst == 2)
				chTemp[iRes] = '\0';
			else
				chTemp[(iCount + 1)*iSrcUnit] = '\0';
			
			lData = StrToData(chTemp, numScaleSrc);
			if (lData < 0)
			{
				printf("\nlData= %X, chTemp=%s,遇到非法字符,暫停\n", lData, chTemp);
				getchar();
				break;
			}
			else 
			{
				int y = 0, iStrLen = 0;
				switch(numScaleDst) 
				{
					case 2:						
						if (0 != Byte2ASCIIBinary(lData, tepStr, iRes*(12/iSrcUnit) ) )
						{
							printf("Byte2ASCIIBinary() failed");
							getchar();
						}
						printf("lData= %d, tepStr= %s\n", lData, tepStr);
						break;
					case 8:
						sprintf(tepStr, "%o", lData);
						iStrLen = strlen(tepStr);

						for (y = 0, tepStr2[0] = '\0'; y < (iDstUnit - iStrLen); tepStr2[++y] = '\0')
						{
							tepStr2[y] = '0';
						}

						sprintf(tepStr, "%s%o", tepStr2, lData);
						printf("lData= %d, tepStr= %s\n", lData, tepStr);
						break;
					case 16:
						sprintf(tepStr, "%x", lData);
						iStrLen = strlen(tepStr);

						for (y = 0, tepStr2[0] = '\0'; y < (iDstUnit - iStrLen); tepStr2[++y] = '\0')
						{
							tepStr2[y] = '0';
						}

						sprintf(tepStr, "%s%X", tepStr2, lData);
						printf("lData= %d, tepStr= %s\n", lData, tepStr);
						break;
					default:
						printf("\nbad output num scale\n");
				}
			}

			fprintf(fout, "%s", tepStr);
		}

		fprintf(fout, "\n");

		for (j = 0; j < MAX_STR_LENGTH; j++)
			ch[j] = 0;
		j = 0;
		i = 0;
		ch[0] = fgetc(fp);
	}

	printf("\n The end\n");
	fclose(fp);
	fclose(fout);
	getchar();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人污污视频在线观看| 日韩和欧美一区二区三区| 欧美大白屁股肥臀xxxxxx| 91久久人澡人人添人人爽欧美| 国产99久久久国产精品潘金 | www.亚洲精品| 国产东北露脸精品视频| 国产精品夜夜嗨| 成人ar影院免费观看视频| 成人精品国产一区二区4080| 国产麻豆精品在线| 国产91丝袜在线播放九色| 国产99精品在线观看| 99久久精品久久久久久清纯| 99re亚洲国产精品| 欧美日韩精品欧美日韩精品| 欧美乱熟臀69xxxxxx| 日韩欧美国产1| 国产三级精品在线| 亚洲男同性视频| 亚洲国产成人av网| 激情深爱一区二区| 99精品欧美一区二区三区综合在线| 99精品久久久久久| 91麻豆精品国产91久久久更新时间| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美综合一区二区| 欧美精品一区二区久久久| 国产精品对白交换视频| 亚洲国产视频一区二区| 狠狠色综合日日| 色综合久久综合| 欧美大片免费久久精品三p| 国产精品色哟哟网站| 亚洲一区在线观看免费观看电影高清 | jiyouzz国产精品久久| 91久久久免费一区二区| 欧美mv日韩mv国产| 亚洲精品国产精品乱码不99| 男人操女人的视频在线观看欧美| 国产一区二区剧情av在线| 91极品美女在线| 日韩无一区二区| 亚洲色图欧洲色图婷婷| 激情六月婷婷久久| 欧美日韩一区二区三区四区五区| 亚洲精品一区二区三区在线观看 | 日本网站在线观看一区二区三区| 国产精品亚洲一区二区三区在线| 色悠久久久久综合欧美99| 欧美电影免费观看高清完整版在线观看| 中文字幕国产一区| 久久国产麻豆精品| 欧美日韩www| 亚洲精品国产第一综合99久久| 精品在线播放免费| 欧美人动与zoxxxx乱| 一区视频在线播放| 国产suv精品一区二区883| 日韩欧美一区电影| 天天综合色天天| 欧美最猛黑人xxxxx猛交| 中文字幕一区二区三区av| 国产精品123| 久久久久久久久久看片| 老司机精品视频在线| 欧美日韩成人在线一区| 亚洲午夜电影在线| 91高清视频免费看| 亚洲精品中文在线| 色激情天天射综合网| 中文字幕一区二区在线播放| 国产成人aaaa| 国产精品免费视频一区| www.欧美亚洲| 国产精品美女久久久久aⅴ| 欧美视频中文一区二区三区在线观看| 国产精品视频一区二区三区不卡| 精品在线播放免费| 久久久久久久久久久电影| 久久99精品国产麻豆不卡| 日韩精品综合一本久道在线视频| 美女精品一区二区| 精品国产一区二区亚洲人成毛片 | 9i看片成人免费高清| 国产精品福利在线播放| 色呦呦网站一区| 亚洲成人精品一区| 日韩欧美国产系列| 国精产品一区一区三区mba桃花| www亚洲一区| 成人视屏免费看| 曰韩精品一区二区| 欧美绝品在线观看成人午夜影视| 日韩中文欧美在线| 精品第一国产综合精品aⅴ| 国产成人鲁色资源国产91色综| 国产亚洲一二三区| 色综合中文字幕国产 | 亚洲日本va在线观看| 91国产免费观看| 日本欧美久久久久免费播放网| 日韩欧美国产一区二区在线播放| 久久国产人妖系列| 国产精品看片你懂得| 欧美性感一区二区三区| 久久精品国产精品亚洲综合| 久久精品一二三| 色综合激情五月| 蜜桃一区二区三区在线观看| 久久久久久久精| 91久久精品网| 韩国成人在线视频| 亚洲精品国久久99热| 日韩欧美aaaaaa| 色偷偷88欧美精品久久久| 男女性色大片免费观看一区二区| 国产午夜精品福利| 欧美日韩一区二区在线观看 | av在线不卡电影| 免费在线看成人av| 国产精品系列在线| 欧美大片在线观看| 欧美三级电影网站| 成人av网站在线观看免费| 蜜桃久久av一区| 亚洲午夜一区二区| 日本一区二区免费在线观看视频| 欧美美女一区二区在线观看| 丁香啪啪综合成人亚洲小说| 免费成人av在线播放| 亚洲三级在线免费观看| 精品黑人一区二区三区久久| 在线观看成人免费视频| 成人av电影在线观看| 国产综合色产在线精品| 五月天一区二区三区| 亚洲精品国产成人久久av盗摄| xf在线a精品一区二区视频网站| 欧美日韩aaa| 欧美午夜精品久久久久久孕妇| 成人免费视频视频| 国产成a人亚洲精品| 韩国在线一区二区| 美女www一区二区| 日韩av一区二区三区| 亚洲午夜久久久| 亚洲一区二区在线播放相泽| 亚洲精品中文字幕在线观看| 国产精品护士白丝一区av| 欧美激情在线观看视频免费| 国产亚洲成aⅴ人片在线观看| 精品国产乱码久久久久久图片| 日韩一区二区在线观看视频| 欧美精品v日韩精品v韩国精品v| 日本韩国一区二区| 欧美在线啊v一区| 色域天天综合网| 欧美三级中文字幕| 欧美日韩不卡一区| 91精品国产综合久久久蜜臀粉嫩| 91精品国产欧美一区二区成人 | 亚洲精品一区二区三区香蕉| 欧美一二三区在线观看| 日韩欧美一区中文| 日韩女同互慰一区二区| 久久久影视传媒| 国产精品欧美久久久久一区二区| 亚洲区小说区图片区qvod| 亚洲电影在线播放| 日韩精品午夜视频| 国内精品国产成人国产三级粉色| 国产一区二区免费看| 成人短视频下载| 欧美无乱码久久久免费午夜一区 | 久久久久久久久久久久电影 | 亚洲精品乱码久久久久久久久| 一区二区三区日韩| 日产精品久久久久久久性色| 国产麻豆一精品一av一免费 | 欧美日韩亚洲综合一区二区三区| 欧美浪妇xxxx高跟鞋交| 精品1区2区在线观看| 亚洲少妇最新在线视频| 亚洲第四色夜色| 国产一区二区导航在线播放| 91啪亚洲精品| 欧美成va人片在线观看| 国产精品成人一区二区艾草| 丝袜美腿亚洲一区| 国产91精品一区二区麻豆亚洲| 色香色香欲天天天影视综合网| 欧美一区二区视频网站| 亚洲国产电影在线观看| 日韩高清不卡一区二区三区| 高清久久久久久| 7777精品伊人久久久大香线蕉超级流畅 | 日韩专区中文字幕一区二区| 国产福利不卡视频| 欧美人狂配大交3d怪物一区|