随笔-2  评论-5  文章-0  trackbacks-0
  置顶随笔

近日开发中遇到半角与全角转换的问题,当时想了很多方法来实现可是总不近人意,最终用了最简单的数组方式来实现(人笨没办法),大家如果有更好的方法可以贴出来哈。

源码如下:

#define ZEN_MAX_LEN    2056

int FormatKaToZen(char* pDestination ,char* pSource)
{
    char *pTempDest   = pDestination;
    char *pTempSource = pSource;
    char* pTemp = NULL;
    int iTemp = 0;
    char szDestination[ZEN_MAX_LEN] = "";
    char szZen[3] = "";
 
    char szHan[256][3] = {{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {" "},{"!"},{"”"},{"#"},{"$"},{"%"},{"&"},{"’"},{"("},{")"},{"*"},{"+"},{"、"},{"-"},{"."},{"/"},
       {"0"},{"1"},{"2"},{"3"},{"4"},{"5"},{"6"},{"7"},{"8"},{"9"},{":"},{";"},{"<"},{"="},{">"},{"?"},
       {"@"},{"A"},{"B"},{"C"},{"D"},{"E"},{"F"},{"G"},{"H"},{"I"},{"J"},{"K"},{"L"},{"M"},{"N"},{"O"},
       {"P"},{"Q"},{"R"},{"S"},{"T"},{"U"},{"V"},{"W"},{"X"},{"Y"},{"Z"},{"["},{"¥"},{"]"},{"^"},{"_"},
       {"’"},{"a"},{"b"},{"c"},{"d"},{"e"},{"f"},{"g"},{"h"},{"i"},{"j"},{"k"},{"l"},{"m"},{"n"},{"o"},
       {"p"},{"q"},{"r"},{"s"},{"t"},{"u"},{"v"},{"w"},{"x"},{"y"},{"z"},{"{"},{"|"},{"}"},{"~"},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{"。"},{"「"},{"」"},{"、"},{"・"},{"ヲ"},{"ァ"},{"ィ"},{"ゥ"},{"ェ"},{"ォ"},{"ャ"},{"ュ"},{"ョ"},{"ッ"},
       {"ー"},{"ア"},{"イ"},{"ウ"},{"エ"},{"オ"},{"カ"},{"キ"},{"ク"},{"ケ"},{"コ"},{"サ"},{"シ"},{"ス"},{"セ"},{"ソ"},
       {"タ"},{"チ"},{"ツ"},{"テ"},{"ト"},{"ナ"},{"ニ"},{"ヌ"},{"ネ"},{"ノ"},{"ハ"},{"ヒ"},{"フ"},{"ヘ"},{"ホ"},{"マ"},
       {"ミ"},{"ム"},{"メ"},{"モ"},{"ヤ"},{"ユ"},{"ヨ"},{"ラ"},{"リ"},{"ル"},{"レ"},{"ロ"},{"ワ"},{"ン"},{"″"},{"°"},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""}};

 for(pTempSource;*pTempSource!='\0';*pTempSource++) 
 {
     iTemp = (int)*pTempSource;
     if(iTemp >= 32 && iTemp <= 126)
     {
         strncpy(szZen,szHan[iTemp],3);
         strcat(szDestination,szZen);
         continue;
     }
     else if(iTemp >= -95 && iTemp <= -33)
     {
         iTemp = iTemp + 256;
         strncpy(szZen,szHan[iTemp],3);
         strcat(szDestination,szZen);
         continue;  
     }
     else
     {
         strncat(szDestination,pTempSource,2);
         pTempSource++;
         continue;
     }

 }

 strcpy(pDestination, szDestination);

 return 0;
}

posted @ 2007-09-20 13:46 云翼 阅读(1778) | 评论 (5)编辑 收藏
  2007年9月20日

近日开发中遇到半角与全角转换的问题,当时想了很多方法来实现可是总不近人意,最终用了最简单的数组方式来实现(人笨没办法),大家如果有更好的方法可以贴出来哈。

源码如下:

#define ZEN_MAX_LEN    2056

int FormatKaToZen(char* pDestination ,char* pSource)
{
    char *pTempDest   = pDestination;
    char *pTempSource = pSource;
    char* pTemp = NULL;
    int iTemp = 0;
    char szDestination[ZEN_MAX_LEN] = "";
    char szZen[3] = "";
 
    char szHan[256][3] = {{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {" "},{"!"},{"”"},{"#"},{"$"},{"%"},{"&"},{"’"},{"("},{")"},{"*"},{"+"},{"、"},{"-"},{"."},{"/"},
       {"0"},{"1"},{"2"},{"3"},{"4"},{"5"},{"6"},{"7"},{"8"},{"9"},{":"},{";"},{"<"},{"="},{">"},{"?"},
       {"@"},{"A"},{"B"},{"C"},{"D"},{"E"},{"F"},{"G"},{"H"},{"I"},{"J"},{"K"},{"L"},{"M"},{"N"},{"O"},
       {"P"},{"Q"},{"R"},{"S"},{"T"},{"U"},{"V"},{"W"},{"X"},{"Y"},{"Z"},{"["},{"¥"},{"]"},{"^"},{"_"},
       {"’"},{"a"},{"b"},{"c"},{"d"},{"e"},{"f"},{"g"},{"h"},{"i"},{"j"},{"k"},{"l"},{"m"},{"n"},{"o"},
       {"p"},{"q"},{"r"},{"s"},{"t"},{"u"},{"v"},{"w"},{"x"},{"y"},{"z"},{"{"},{"|"},{"}"},{"~"},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{"。"},{"「"},{"」"},{"、"},{"・"},{"ヲ"},{"ァ"},{"ィ"},{"ゥ"},{"ェ"},{"ォ"},{"ャ"},{"ュ"},{"ョ"},{"ッ"},
       {"ー"},{"ア"},{"イ"},{"ウ"},{"エ"},{"オ"},{"カ"},{"キ"},{"ク"},{"ケ"},{"コ"},{"サ"},{"シ"},{"ス"},{"セ"},{"ソ"},
       {"タ"},{"チ"},{"ツ"},{"テ"},{"ト"},{"ナ"},{"ニ"},{"ヌ"},{"ネ"},{"ノ"},{"ハ"},{"ヒ"},{"フ"},{"ヘ"},{"ホ"},{"マ"},
       {"ミ"},{"ム"},{"メ"},{"モ"},{"ヤ"},{"ユ"},{"ヨ"},{"ラ"},{"リ"},{"ル"},{"レ"},{"ロ"},{"ワ"},{"ン"},{"″"},{"°"},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},
       {""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""},{""}};

 for(pTempSource;*pTempSource!='\0';*pTempSource++) 
 {
     iTemp = (int)*pTempSource;
     if(iTemp >= 32 && iTemp <= 126)
     {
         strncpy(szZen,szHan[iTemp],3);
         strcat(szDestination,szZen);
         continue;
     }
     else if(iTemp >= -95 && iTemp <= -33)
     {
         iTemp = iTemp + 256;
         strncpy(szZen,szHan[iTemp],3);
         strcat(szDestination,szZen);
         continue;  
     }
     else
     {
         strncat(szDestination,pTempSource,2);
         pTempSource++;
         continue;
     }

 }

 strcpy(pDestination, szDestination);

 return 0;
}

posted @ 2007-09-20 13:46 云翼 阅读(1778) | 评论 (5)编辑 收藏
  2007年5月27日

  都说男人40一枝花,35岁恐怕还是花骨朵,可是职场上35岁以上免谈的条款似乎为“花骨朵”们浇了一盆凉水,特别是35岁对于IT人是个坎儿,过了这个年纪基本技术生涯即告终结,这是IT界多数人认可的。所以,也让IT人着实为35岁以后的自己产生了不少忧虑:IT人离开IT后能干什么?2005年开始之际,国内著名人力资源商就此做了一个调查。

  35岁并非职场黄灯

  在你觉得35岁后IT人的路会越走越宽还是越来越窄的调查中,只有2%的人认为35岁以后大部分人难以适应社会;10%的人觉得难说,有的人很难改变思维方式了;13%的人认为只有少数精英可以有更好的发展;而45%的人认为不一定,因人而异;还有30%的人肯定是越做越宽,可以多方尝试。调查结果显示,75%的人并不觉得35岁是IT人在职场中的黄灯。

  职业专家说:根据当今通行的“国际标准”,世界各国都把“青年”的年限界定为不超过45岁。而35岁距离“青年”的最高年限还差10年。尽管IT行业技术更新瞬息万变,技术人才只有逆水行舟才能紧跟技术潮流,但35岁的技术人才心理成熟,经验丰富,做事稳重,工作踏实,不易出现差错,也正是个人和企业收获的丰收年龄,为何悲叹前途渺茫呢?

  不必一条道路走到黑

  调查结果显示,55%的人还是觉得35岁的IT人应该多寻出路,不必要一条技术道路走到黑。在“你觉得IT人35岁以后能从事什么工作?”的调查中,42%的人建议是最好做技术类管理职位;12%的人觉得改行做技术类销售也不错;6%的人建议可以作相关培训;另外13%的人认为做咨询也是不错的选择;但是25%的人选择还是要根据个人的兴趣特长而定。

  职业专家:35岁的程序员虽然技术老到,但毕竟在学习能力、反应速度、工作效率上和20多岁的年轻人都存在一定差距。

  从智联招聘网追求IT工程师有关职位的求职者构成数据来看,IT人才市场的整体年龄状况趋于年轻化,22岁以下的择业者占总体比例的71%,23岁至35岁的择业者占29%,而35岁以上的只占10%,年轻的人才给市场注入了新鲜的活力也使得进入IT行业的竞争在入口处变得更加白热化。

  因此,35岁以上的IT人与其咬着牙不断补充新知识、学习新技术,继续在编程队伍里打拼,不如重新审核自己的职业兴趣、能力和性格,以己之长博人之短,寻求职业发展的第二春,特别是基于丰富的经验和人脉关系向培训、咨询和管理方向发展。

posted @ 2007-05-27 00:39 云翼 阅读(256) | 评论 (0)编辑 收藏
仅列出标题