請問在C 中怎樣編寫一段程式來統計文字檔案中的漢字個數(當檔案中漢字 數字 字母相互混雜時)謝謝

2021-04-01 10:15:54 字數 574 閱讀 2133

1樓:耀宇星鋒

ascll有128個,unicode字符集包括世界上多種語言的基本字元,同時ascll碼字元剛好是其前128個,int(ch)表示將ch對應的字元轉換為整型,如果int(ch)>127,則表示其是unicode中128為以後的字元,這樣就能大概的統計檔案中的漢字數。

2樓:匿名使用者

gb碼裡一個漢字由兩個位元組組成 並且第一個位元組 >=128 所以你只要找到 一個位元組 >=128 那第二個位元組和這個位元組組成一個漢字,第二個位元組的範圍沒關係

3樓:匿名使用者

你的那段程式會出錯,如果使用unicode編碼漢字,比如utf8,有的漢字3個位元組,有的2個位元組..如果用gbk,gb2312編碼漢字都是雙位元組..你那個明顯智慧識別gb的..

遇見utf8就死翹翹了...127之前的是ascii碼.比127大,就是漢字了..

當然,這是在gb裡....最好的辦法是用現成的庫..icovn什麼的..

防止出錯..

4樓:匿名使用者

對不起,我不會c語言,所以不能幫你解答。

c語言編寫程式,在一維陣列裡輸入一句英文,統計該句子裡出現的單詞個數

宣告一個較大的char型陣列,待輸入完成後依次檢查陣列元素,除第一個單詞可能需要個別處理外,其餘以空格後跟字母或其它字元後跟字母的就認為是一個單詞,累加計數即可。如下 int main int argc,char argv 執行樣例如下圖 include main printf there are ...

我有一段basic編寫的程式,如何在vb中實現

這段程式是用古老的basic語言編寫的,2660句的lprint語句表示在印表機輸出.在vb裡,必須改為print,其他語句可以不改,因為vb相容以前版本的basic,如果提示變數沒定義,你再用dim語句定義一下變數.直接可以執行。只要把其中的全形符號改成半形的,輸出也改成vb的。2580 if h...

中怎樣在一段文字中間加一條豎線把這段文字

1 首先將電腦桌面上的文件點選開啟。2 將文件開啟了之後,在文件頂部的導航欄裡面回選擇頁面佈局。答3 點選了頁面佈局之後,在頁面佈局下面找到分欄,選擇將其分為兩欄。4 這樣就可以看到選中的這段文字分成左右兩部分。以word2007為例,步驟如下 1 開啟word,點 頁面佈局 選中要分成兩部分的文字...