如果乙個字串中含有中文和字母,笨的方法還是有乙個,對所有的進行全形處理,如a一位轉成2位,那樣取值擷取就不會有什麼問題了,我暫時上傳乙個笨的程式,大家看了以後不要笑我啊。
#include
#include
#include
/*列印時對字元轉換 wuhongxing*/
void hvpsconvertchar(const char smsg,char * ret_msg)
':strcpy(ret_msg,"}");
break;
case '`':
strcpy(ret_msg,"`");
break;
case '~':
strcpy(ret_msg,"~");
break;
case '!':
strcpy(ret_msg,"!");
break;
case '@':
strcpy(ret_msg,"@");
break;
case '#':
strcpy(ret_msg,"#");
break;
case '$':
strcpy(ret_msg,"¥");
break;
case '%':
strcpy(ret_msg,"%");
break;
case '^':
strcpy(ret_msg,"^");
break;
case '&':
strcpy(ret_msg,"&");
break;
case '*':
strcpy(ret_msg,"*");
break;
case '(':
strcpy(ret_msg,"(");
break;
case ')':
strcpy(ret_msg,")");
break;
case '-':
strcpy(ret_msg,"-");
break;
case '_':
strcpy(ret_msg,"_");
break;
case '=':
strcpy(ret_msg,"=");
break;
case '+':
strcpy(ret_msg,"+");
break;
case '\'':
strcpy(ret_msg,"'");
break;
case '\"':
strcpy(ret_msg,""");
break;
default :
ret_msg[0] = smsg;
ret_msg[1] = 0;
break;}}
void hvpsconvertstr(char *buf)
} else
strncat(ret_msg, buf + i, 1);
}strcpy( buf, ret_msg );
free(ret_msg);
}int substring(char *str,char *substr,int start,int len)
else
strcpy(substr,"");
strcpy(str,substr);
break;
default :
if(len>328)
ok=substring(str,substr,328,len-328);
else
strcpy(substr,"");
strcpy(str,substr);
break;
}return (0);
}int formatechar1(char *str )
int formatechar2(char *str )
int formatechar3(char *str )
int formatechar4(char *str )
int formatechar5(char *str )
void main()
處理中文擷取
utf 8資料的中文截字 param string or array content 需要截字的原文 param array length 擷取的長度 param string add 末尾新增的字串 param string index 處理陣列索引 return string or array ...
mysql擷取中文字元 mysql 擷取中文字元
1 char n 型別 char型別時定長的型別,即當定義的是char 10 輸入的是 abc 這三個字元時,它們佔的空間一樣是10個位元組,包括7個空位元組。當輸入的字元長度超過指定的數時,char會擷取超出的字元。而且,當儲存char值時,mysql是自動刪除輸入字串末尾的空格。char是適合儲...
php擷取中文函式
擷取中文字元函式一 function cutstr string,length,dot charset utf 8 string str replace array array string strcut if strtolower charset utf 8 elseif 194 t t 223 ...