我必須寫符號的計數器。如果我在字符串中尋找s
,count
是3,但是如果我正在尋找西里爾文(н
),那麼錯了。我試圖尋找237
的代碼。此代碼我在ASCII表http://ascii.org.ru/ascii.pdf中找到。西里爾文的問題,字符串搜索
我該如何解決它?
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "This is a string. нннн";
char * pch;
int count = 0;
pch = strchr(str, 's');
while (pch != NULL) {
count++;
pch = strchr(pch + 1, 's');
}
printf("%i", count);
return 0;
}
'н'是Unicode character.Maybe [這](http://www.cprogramming.com/tutorial/unicode.html)會幫助你。 –
我不太清楚'strchr()是否可以用'wchar_t'工作。也許你可以將數組作爲'wchat _t'並嘗試自己比較ASCII值? –
@justmscs但是gcc給我顯示錯誤信息:'字符太大,不能包含字符文字類型pch = strchr(str,'н');' – rel1x