|
ʸ»úÎ󤫤é¡Öê¡×¤È¤¤¤¦»ú¤ò¼è¤ê½ü¤¤¿¤¤¤Î¤Ç¤¹¤¬¡¢
¾å¼ê¤¯¼è¤ê½ü¤¤¤Æ¤¯¤ì¤Þ¤»¤ó¡£
¡Öê¡×°Ê³°¤Îʸ»ú¤Ç¹Ô¤¦¤È¾å¼ê¤¯¹Ô¤¤Þ¤¹¡£
¤É¤¦¤·¤Æ¤Ê¤Î¤Ç¤è¤¦¤«¡£
´Ä¶
HP-UX11.00
¥³¥ó¥Ñ¥¤¥é
cc
cc -O -Aa -D_HPUX_SOURCE +ESsfc +ESlit
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cut_str(char *) ;
main()
{
cut_str("¶â°Ŵ¹Ýê-ABCDE") ;
}
int cut_str(char *in_data)
{
char w_str[1024] ;
char c ;
int i = 0 ;
memset(w_str,'\0',sizeof(w_str)) ;
printf("in_data,strlen(in_data): [%d] [%s]\n",strlen(in_data),in_data) ;
while (*in_data) {
c = *in_data ;
if ((c & 0xFF) >= 0x81 && (c & 0xFF) <= 0x9F || (c & 0xFF) >= 0xE0 && (c & 0xFF) <= 0xFC) {
if (memcmp(in_data,"ê",2) == 0) {
printf("hit\n") ;
in_data += 2 ;
} else {
w_str[i] = *in_data++ ;
w_str[++i] = *in_data++ ;
i++ ;
}
}
else {
w_str[i] = *in_data++ ;
i++ ;
}
}
printf("w_str: [%d] [%s]\n",strlen(w_str),w_str) ;
}
|