其中有一道处理汉字字符的,从一个含有汉字的字符串中截取若干个字符,汉字不能截取一部分。
void split_name( char * name , char * store , int len) { if (len>strlen(name)) { return; } int i=0; int j=0; for( i=0;i<len;) { if(name[i]>-1&&name[i]<128)// 0--127 共128个字符 { strncpy(store+j,name+i,1); i++; j++; } else {//是双字节的汉字 if (j+2<len)//保证汉字不会截取一半 { strncpy(store+j,name+i,2); } i+=2; j+=2; } } }