举个例子吧!
CString A; //A里面是个中文、字母和数字组成的一个字符串
CString B;//B,C都是是空的
CString C;
stringtoint(CSting A,CString B)
{
   //要求这个函数把A映射为一个数字放到B中
}inttostring(CSting B,CString C)
{
   //要求这个函数把B再转换成原来的A,并放到C中
}其实就是字符串与一个数字映射的问题,要求这个算法简单。
大家有什么高见,给我指点一下,最好详细些

解决方案 »

  1.   

    stringtoint(CSting A,CString B)
    {
       //要求这个函数把A映射为一个数字放到B中
    }
    ————————————————————————————————————
    A和B都是字符串,怎么B是数字了呢?如果B真的要是数字的话,那么是不行的,数字的大小是有限的,如果A很长,是不可能转换成数字的。如果B是一串数字化的字符串,就不同了,这是可以的,你可以先把字符串转成ASCII码,然后把这些ASCII码连起来,就成了数字串了,但这样会使你难以区分那一段数字表示那一个ASCII码,所以你必须在转换ASCII码时取一个定长的数字长度,可以存放最长的ASCII码(如果有中文的话,这个码是很长的,并且你不能单纯用ASCII码,必须使用支持中文的编码),位数不足时用0补足。数字串出来了之后,你还可以对它进行定长分割,然后把它用ati()函数转成数值,进行一些只有才知道的运算(这一步主要是加密你的数据),当你要转换回字符串时,你就做相反的运算,就可以解密回原来的字符串了。我只能帮你写出算法,具体实现你就自己做罢。