关键词不能为空

当前您在: 主页 > 英语 >

【C语言】【window】--在线翻译器

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-22 14:56
tags:

-

2021年2月22日发(作者:分享者)


C








线









光影



2012



7



8



22:03:22





C


语言】



Windows



--


在线 翻译器





01.


程序简介




程序名称:在线翻译器




编译器:


vs2010


(其它也可以


……






程序大小:


109K



文件包括:在线翻译器


.exe,



,,



程序界面:















1















2



02.


任务说明


/*********************************************** *********************



【光影队】


【任务】



LV5

】在线翻译器




******* ************************************************** ***********/



任务名称:在线翻译器



任务难度:等级


5


任务发布时间:



任务所需知识:


C


语言界面编程。算法。





任务简介:一个多国语言的在线翻 译器。


N


天前使用学校的电脑,结果鼠标的半

< br>报废的货。使用谷歌翻译的时候需要全部删除输入的内容,结果鼠标选择不了,


只 能一个个字符


Delete


,或者点击打开新的窗口。每次使用 翻译都需要这样很麻


烦,


突然想要自己写一个翻译器,


于是开工了??程序需要可以对常用的几种语


言间进行翻译。

< p>




任务资料提示:



< br>·可以使用


URLDownloadToFile


对翻译 结果的网页进行下载,然后分析网页即


可得出翻译结果。



·


URL




/translate_t?q=








&hl=zh-CN&langpair=


源语言


|


目标语言



·源语言与目标语言可 以在谷歌翻译找到,如:


en


是英语,


zh-CN


是中文简体



·要翻译的内 容中的空格用


%20


代替,换行(


rn


)用


%0A


代替。


·注意网页是


UTF-8


编码。



·网页打开:


backgroundColor='#fff'


后面开始是翻译后的内容



后面的内容如果有换行那就带




?


和其它??



后面如果没有内容了 那就带



·具体网页可以自己下载网页进行分析。






/** ************************************************** ****************





3



03.


相关技术




001.


程序界面:












使用对话框。我们按下翻译按钮后。


程序得到文本框的内容,


然后根据文本的内


容长度与标点符号进 行分割,然后将分割的内容与相应的语言选择进行


URL



造。根据构造的


URL


下载网页。最后分析 网页得到翻译后的内容。














4











URL




/translate_t?q=








&hl=zh-CN&langpai r=


源语言


|


目标语言




源语言与目标语言可以通过用户的下拉列表(


Combobox


)选择得到。




如:





中文简体:


zh-CN


中文繁体:


zh-TW


英语:


en


日语:


ja


韩语:


ko



法语:


fr


菲律宾语:


tl


越南语:


vi


拉丁语:


la



更多可以到谷歌翻译上找??



如将“


lucifer


”以为中文,那么下载的链接就是:

< p>



/translate_t?q=lucifer&hl=zh- CN&langpair=en|zh-CN



< p>
然后使用:


URLDownloadToFile


进行下载




URLDownload ToFile



0


,下载目标,保存的 文件名,


0



NULL






然后就是文件操作了。













5



003.


编码




网页文件是使用


UTF-8


编码,我们直接读取的网页内容然后进行显示的时候就


会发现,英文正常 显示,中文全部都变成了乱码。



于是我们需要对其进行编码转换。




我们使用


char


型的数组

< p>
buffer


进行读取然后在进行一下转换:







//


先转换为


Unicode


int wLen2 = MultiByteToWideChar(CP_UTF8, 0, buffer, -1, NULL, 0);



wchar_t* wStr2 = (wchar_t*)malloc(sizeof(wchar_t)*wLen2);



MultiByteToWideChar(CP_UTF8, 0, buffer, -1, wStr2, wLen2);






//


再转换为


Ascii



int


aLen2


=


WideCharToMultiByte(CP_ACP,


0,


wStr2,


-1,


NULL,


0,


NULL,


NULL);



char* converted2 = (char*)malloc(sizeof(char)*aLen2);



WideCharToMultiByte(CP_ACP,


0,


wStr2,


-1,


converted2,


aLen2,


NULL,


NULL);






之后显 示的内容就不会是乱码了。


于是后续的字符串操作,


翻译内容的 定位就简


单了??















6



004.


检查输入的内容。




input


是得到的输入内容。然后 检查有没有空格和换行。如果有就进行替换。





空格换成“


%20

< br>”



换行符换成




%0A






大致流程是:





/************** ************************************************** ****



替换空格和换行。




接着



我们判断它的大小:



int


inputlen=strlen(input);




while(inputlen>500){



截取字符串,进行翻译,得到结果后,继续截取,直到


inputlen


小于


500


跳出循


环。



因为太长的


URL


得不到结果。




}



< /p>


最后将剩下那段长度小于


500


的字符串 进行翻译并得出结果。





以上完成。




************************************************* *******************/










7

-


-


-


-


-


-


-


-



本文更新与2021-02-22 14:56,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/669122.html

【C语言】【window】--在线翻译器的相关文章