置顶随笔
近日开发中遇到半角与全角转换的问题,当时想了很多方法来实现可是总不近人意,最终用了最简单的数组方式来实现(人笨没办法),大家如果有更好的方法可以贴出来哈。
源码如下:
#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 云翼 阅读(1799) |
评论 (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 云翼 阅读(1799) |
评论 (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 云翼 阅读(285) |
评论 (0) |
编辑 收藏