字元陣列與字串 - OpenHome.cc
文章推薦指數: 80 %
字串就是一串文字,在C 談到字串的話,一個意義是指字元組成的陣列, ... #include
wchar_t並沒有規定大小,只要求必須容納系統中可以使用的字元,C11在uchar.h中定義了char16_t與char32_t,這會讓人誤以為它們用來儲存編碼,其實它們依舊是儲存碼點。
char16_t可儲存的碼點,必須能涵蓋UTF-16編碼可表現的全部字元,使用的字元常量或字串常量前要加上u,例如:
char16_tch=u'林';
char16_ttext[]=u"良葛格";
char32_t可儲存的碼點,必須能涵蓋UTF-32編碼可表現的全部字元,使用的字元常量或字串常量前要加上U,例如:
char32_tch=U'林';
char32_ttext[]=U"良葛格";
至於char之間與wchar_t、char16_t、char32_t間要怎麼轉換呢?這問題基本上涉及Unicode碼點要轉換至哪個編碼,若是Unicode碼點與UTF-8的轉換,可以參考底下的實作(修改自C++UTF-8codepointconversion):
#include
延伸文章資訊
- 1C++ string char[] char* 用法说明_kidults的博客 - CSDN博客
char * 和char [ ] 的区别char a[5] :编译器会给数组a分配5个单元,每个单元的数据类型为字符char *s : 这是个指针变量,只占四个字节, ...
- 2[C] 每天來點字串用法(基本篇) - skyblog
而對於字元指標的宣告,C 有一個特別的地方,他可以直接讓字元指標類的字串有初始值: char *s4 = "hello world";. 像s4 這種情況,是由編譯器在唯 ...
- 3C++ char 和string 簡單用法 - 程式人生
C++ char 和string 簡單用法 ... char c1[40]; sprintf(c1,"%d",num3);//按正常位數轉換 cout << "%d, int->char : "...
- 4(原創) char s[]字串和char *s字串有什麼差別? (C/C++) (C)
C語言有兩種字串宣告方式char s[]和char *s,兩者有什麼差異呢? ... 狀況下用法相同,但char *s速度略快,因為不需copy的動作,且*s++為C語言常用的 ...
- 5【C++】字串char string stringstream 相關用法總整理(內含範例 ...
【C++】C/C++ 字串Char String stringstream 相關用法總整理此文章中會整理char array, String, stringstream, c prinf 家族:...