c語言中文和ascii碼字元分離
歡迎大家對程式進行修改,程式還存在很多不足,如需要手動在字串尾加結束符,陣列長度不好控制從而浪費空間等。註釋寫的有點長,請大家見諒
程式如下:
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "王愷123啊哈wang";
char str1[20], str2[20];
int i,j,k;
for(i = 0, j = 0,k = 0; i < strlen(str);++i)
{
if(0 != (str[i] >> 7)) //中文字元最高位為1,ascii碼最高位為0,
//因此將最高位數字左移7位,
//不等於0的是中文字元,
// 等於0的是ascii碼
{
str1[k] = str[i]; //將str中文字元第一個位元組
//放到str1的第一個位元組位置
++i;
k++;
str1[k] = str[i]; //將str中文字元第二個位元組
//放到str1的第二個位元組位置
k++;
}
else
{
str2[j] = str[i];
j++;
}
}
str1[k] = '\0'; //字串後面需要加結束符,
str2[j] = '\0';//否則用puts()輸出不會自動結束,會出現亂碼
puts(str1);
puts(str2);
return 0;
}
輸出結果如下:
相關文章
- C語言: 分類統計字元個數C語言字元
- javascript 字元轉換為ascii碼,ascii碼轉換為字元JavaScript字元ASCII
- C語言 將字串按照指定字元分離並且反轉(三級指標)列子C語言字串字元指標
- C語言(字元陣列)C語言字元陣列
- c語言字元陣列C語言字元陣列
- C++和c語言的分別C++C語言
- c/c++ c語言字元與字串C++C語言字元字串
- 字元編碼:ASCII,Unicode和UTF-8字元ASCIIUnicode
- 字元編碼發展史1 — ASCII和EASCII字元ASCII
- 中文分詞研究難點-詞語劃分和語言規範中文分詞
- 字母圖形(字元與ASCII碼)字元ASCII
- 與 C 語言長別離
- C語言sizeof()變數、字元、字串C語言變數字元字串
- c語言字元常量當做整型C語言字元
- 字元編碼筆記:ASCII,Unicode和UTF-8字元筆記ASCIIUnicode
- 字元編碼筆記:ASCII,Unicode 和 UTF-8字元筆記ASCIIUnicode
- ascii碼與字元的相互轉換ASCII字元
- C語言基礎-2、字元型別C語言字元型別
- C語言——小白學習筆記(一些關於ASCII碼的小技巧以++ 和 --的用法)C語言筆記ASCII
- C++語言演算法之求任意兩個相同字元的最大距離C++演算法字元
- 字元編碼 ASCII,Unicode 和 UTF-8 概念掃盲字元ASCIIUnicode
- 聊聊C語言/C++—程式和程式語言C語言C++
- C語言求其字元陣列的長度C語言字元陣列
- ASCII 中的控制字元ASCII字元
- C語言:計算輸入字元的個數C語言字元
- C語言計算輸入字元的個數C語言字元
- Ascii Design 1.0.2,好玩的 ASCII 字元設計工具ASCII字元
- 用 Java 生成 ASCII 字元畫JavaASCII字元
- 常用字元ASCII值字元ASCII
- Go 語言高效分詞, 支援英文、中文、日文等Go分詞
- C語言指標5分鐘教程C語言指標
- C 語言指標 5 分鐘教程指標
- C 語言程式碼總結
- c語言稱重砝碼C語言
- 網頁字元編碼、語言程式碼設定與SEO網頁字元
- C/C++語言精髓 *和&詳解C++
- 1020:列印ASCII碼(C C++)ASCIIC++
- 輸入一個ASCII碼,輸出對應的字元ASCII字元