您的位置首页百科词库

语言翻译器代码

语言翻译器代码

c语言 不是很熟悉。。。希望这个是你要的吧。 里面的数组长度需要你自己修改下。稍微难点的地方就是字符串的替换。我试过了 没有问题;#include #include struct MWORD{char eng[10];char cn[255];};void str_replace(char * cp, int n, char * str){int lenofstr;int i;char * tmp;lenofstr = strlen(str); //str3比str2短,往前移动 if(lenofstr < n) {tmp = cp+n;while(*tmp){*(tmp-(n-lenofstr)) = *tmp; //n-lenofstr是移动的距离 tmp++;}*(tmp-(n-lenofstr)) = *tmp; //move '模世\0'}else//str3比str2长,往后移动if(lenofstr > n){tmp = cp;while(*tmp) tmp++;while(tmp>=cp+n){*(tmp+(lenofstr-n)) = *tmp;tmp--;} }strncpy(cp,str,lenofstr);}//////旦行肢int main(){int n,i;MWORD all[500];char* p;char destr[10000] ;printf("输入词条条数:");scanf("%d",&n);if(n >= 500)return 0;for( i = 0;i < n;++i){scanf("%s",all[i].eng);getchar();scanf("%s",all[i].cn);getchar();}gets(destr);for( i = 0;i < n;++i){p = destr;while (p = strstr(p,all[i].eng)){str_replace(p,strlen(all[i].eng),all[i].cn);}}printf("%s",destr);system("pause");//不知道c语言的暂停是不是带贺这个 }