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

📄 notelang.c

📁 多国语言标注。在进行炬力软件开发过程中
💻 C
字号:

/********************************************/
/*                                          */
/*                     多国语言标红         */
/*                                          */
/*              HJ.Jang 2008-01-12PM 15:40s */
/*                                          */
/********************************************/

#include<stdio.h>

#define false 0
#define true  1

FILE *fpTmp1,*fpTmp2;
int  g_langid;

char searchStr1L[] = {"name="};
char searchStr1C[] = {"NAME="};

char searchStr2L[] = {"string="};
char searchStr2C[] = {"STRING="};
char searchStr2T[] = {"0tring="};

char searchStr3L[] = {"exitexit"};
char searchStr3C[] = {"EXITEXIT"};

void DealFile(void)
{
	long length32 = 0xF0000;
	int  i, j, searchStrLength1, searchStrLength2, searchStrLength3;
	char stringTmp[10];
	char charTmp;
	char langid;
	char equal1, equal2, equal3;
	char cmpStr1, cmpStr2, cmpStr3;

	{
		i = 0;

		equal1 = false;
		equal2 = false;
		equal3 = false;

		cmpStr1 = false;
		cmpStr2 = false;
		cmpStr3 = false;

		searchStrLength1 = sizeof(searchStr1L)-1;
		searchStrLength2 = sizeof(searchStr2L)-1;
		searchStrLength3 = sizeof(searchStr3L)-1;

		while(length32)
		{
			charTmp = fgetc(fpTmp1);
			length32--;

			if(cmpStr1)
			{
				stringTmp[i] = charTmp;
				if(charTmp == searchStr1L[i] || charTmp == searchStr1C[i])
				{
					i++;
					if(i == searchStrLength1)
					{
						cmpStr1 = false;
						equal1 = true;
						i = 0;
					}
				}
				else
				{
					i++;
					for(j=0; j<i; j++)
					{
						fputc(stringTmp[j], fpTmp2);
					}
					cmpStr1 = false;
					i = 0;
				}
			}
			else if(cmpStr2)
			{
				stringTmp[i] = charTmp;
				if(charTmp == searchStr2L[i] || charTmp == searchStr2C[i])
				{
					i++;
					if(i == searchStrLength2)
					{
						cmpStr2 = false;
						equal2 = true;
						i = 0;
					}
				}
				else
				{
					i++;
					for(j=0; j<i; j++)
					{
						fputc(stringTmp[j], fpTmp2);
					}
					cmpStr2 = false;
					i = 0;
				}
			}
			else if(cmpStr3)
			{
				stringTmp[i] = charTmp;
				if(charTmp == searchStr3L[i] || charTmp == searchStr3C[i])
				{
					i++;
					if(i == searchStrLength3)
					{
						cmpStr3 = false;
						equal3 = true;
						i = 0;
					}
				}
				else
				{
					i++;
					for(j=0; j<i; j++)
					{
						fputc(stringTmp[j], fpTmp2);
					}
					cmpStr3 = false;
					i = 0;
				}
			}
			else
			{
				if(charTmp == searchStr1L[0] || charTmp == searchStr1C[0])
				{
					cmpStr1 = true;
					stringTmp[0] = charTmp;
					i = 1;
				}
				else if(charTmp == searchStr2L[0] || charTmp == searchStr2C[0])
				{
					cmpStr2 = true;
					stringTmp[0] = charTmp;
					i = 1;
				}
				else if(charTmp == searchStr3L[0] || charTmp == searchStr3C[0])
				{
					cmpStr3 = true;
					stringTmp[0] = charTmp;
					i = 1;
				}
				else
				{
					fputc(charTmp, fpTmp2);
					i = 0;
				}
			}

			if(equal1)
			{
				equal1 = false;
				fputs(searchStr1L, fpTmp2);
				langid = 0;
			}
			else if(equal2)
			{
				equal2 = false;
				if(langid ==g_langid)
				{
					fputs(searchStr2T, fpTmp2);
				}
				else
				{
					fputs(searchStr2L, fpTmp2);
				}
				langid++;
			}
			else if(equal3)
			{
				equal3 = false;
				/*fputs(searchStr3L, fpTmp2);*/
				break;
			}
		}
	}
}

/********************************************/
/*     参数1: 源文件
/*     参数2: 目标文件
/*     参数3: 语言选项 "0~n"
/********************************************/
void main(int argc,char *argv[])
{
	char tcCommand[50];

	argc = argc;

	/*语言转换为数字*/
	g_langid = atoi(argv[3]);

	/*原始文件1  拷贝至临时文件Tmp1 */
	printf("del   Tmp1.Bin\n");
	system("del Tmp1.Bin");
	printf("copy   argv[1]   Tmp1.Bin\n");
	strcpy(tcCommand, "copy ");
	strcat(tcCommand, argv[1]);
	strcat(tcCommand, " Tmp1.Bin");
	system(tcCommand);

	{
		/*临时文件Tmp1  拷贝至临时文件Tmp2 */
		printf("del   Tmp2.Bin\n");
		system("del Tmp2.Bin");
		printf("copy   Tmp1.Bin   Tmp2.Bin\n");
		strcpy(tcCommand, "copy Tmp1.Bin Tmp2.Bin");
		system(tcCommand);

		/*统一打开临时文件*/
		if((fpTmp1=fopen("Tmp1.Bin","rb"))==NULL)
		{
			printf("Cannot open Tmp1.Bin\n");
			getch();
			exit(1);
		}

		if((fpTmp2=fopen("Tmp2.Bin","wb"))==NULL)
		{
			printf("Cannot open Tmp2.Bin\n");
			getch();
			exit(1);
		}

		/*文件操作*/
		{
			DealFile();
		}

		/*统一关闭临时文件*/
		fclose(fpTmp1);
		fclose(fpTmp2);

		/*临时文件Tmp2  拷贝至临时文件Tmp1 */
		printf("del   Tmp1.Bin\n");
		system("del Tmp1.Bin");
		printf("copy   Tmp2.Bin   Tmp1.Bin\n");
		strcpy(tcCommand, "copy Tmp2.Bin Tmp1.Bin");
		system(tcCommand);
	}

	/*临时文件Tmp2 拷贝至目标文件2 */
	printf("del   argv[2]\n");
	strcpy(tcCommand, "del ");
	strcat(tcCommand, argv[2]);
	system(tcCommand);

	printf("copy   Tmp2.Bin   argv[2]\n");
	strcpy(tcCommand, "copy ");
	strcat(tcCommand, "Tmp2.Bin ");
	strcat(tcCommand, argv[2]);
	system(tcCommand);

	/*删除过程文件 */
	printf("del   Tmp1.Bin\n");
	strcpy(tcCommand, "del Tmp1.Bin");
	system(tcCommand);
	printf("del   Tmp2.Bin\n");
	strcpy(tcCommand, "del Tmp2.Bin");
	system(tcCommand);
}

⌨️ 快捷键说明

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