在C语言中,处理全角和半角字符转换的方法如下:
要实现全角和半角字符之间的转换,可以使用以下方法:
#include<stdio.h>
#include<string.h>
// 将半角字符转换为全角字符
void half_to_full(char *str) {
int i;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 0x20 && str[i] <= 0x7E) {
str[i] += 0xFEE0;
}
}
}
// 将全角字符转换为半角字符
void full_to_half(char *str) {
int i;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 0xA1 && str[i] <= 0xDF) {
str[i] -= 0x80;
} else if (str[i] >= 0x8140 && str[i] <= 0x84BE) {
str[i] -= 0xFEE0;
}
}
}
int main() {
char str[] = "Hello, 世界!";
printf("原始字符串: %s\n", str);
half_to_full(str);
printf("全角字符串: %s\n", str);
full_to_half(str);
printf("半角字符串: %s\n", str);
return 0;
}
注意:这个示例仅适用于ASCII字符和GB2312编码的汉字。对于其他编码(如UTF-8、UTF-16等),需要使用相应的编码转换库(如iconv)进行转换。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。