c 中字串的字元數與位元組數

2021-10-03 20:14:49 字數 2036 閱讀 6914

c++中字元數是字元的個數,位元組數是在記憶體中所佔的大小(siziof()),每乙個字串在記憶體中都以'/0'結束。

#includeusing namespace std;

#include int main()

; a[2][2]=a[2][1];

a[2][2]='1';

char fore[4]="111";

//scanf("%s",a[2]); //可賦值

strcpy(a[2],"111"); //字串拷貝

memcpy(a[2],"222",4); //記憶體拷貝

//二維字元陣列測試

printf_s(_t("str_string字元數為:%d\n"),str_string.size());

printf_s(_t("str_cstring字元數為:%d\n"),str_cstring.getlength());

printf_s(_t("str_string位元組數為:%d\n"),sizeof(str_string)); //string是類,不是資料型別,只是處理字串的類,可以轉換為字串char a[大小]; strcpy(a,str_string.c_str);(a字串以'\0結尾')

printf_s(_t("str_cstring位元組數為:%d\n"),sizeof(str_cstring)); //類似於char陣列,存放字串都以'\0'結尾,'\0'佔乙個位元組

printf_s(_t("str_char位元組數為:%d\n"),sizeof(str_char));

printf_s(_t("strchar位元組數為:%d\n"),sizeof(strchar));

printf_s(_t("本機基本變數型別所佔位元組數\n"));

printf_s(_t("char所佔位元組數:%d\n"),sizeof(char));

printf_s(_t("byte所佔位元組數:%d\n"),sizeof(byte)); //typedef unsigned char byte;

printf_s(_t("int所佔位元組數:%d\n"),sizeof(int));

printf_s(_t("float所佔位元組數:%d\n"),sizeof(float));

printf_s(_t("short所佔位元組數:%d\n"),sizeof(short));

printf_s(_t("word所佔位元組數:%d\n"),sizeof(word)); //typedef unsigned short word;

printf_s(_t("float所佔位元組數:%d\n"),sizeof(float));

printf_s(_t("double所佔位元組數:%d\n"),sizeof(double));

printf_s(_t("longdouble所佔位元組數:%d\n"),sizeof(long double));

printf_s(_t("long所佔位元組數:%d\n"),sizeof(long));

printf_s(_t("long long所佔位元組數:%d\n"),sizeof(long long));

printf_s(_t("dword所佔位元組數:%d\n"),sizeof(dword)); //typedef unsigned long dword;

printf_s(_t("bool所佔位元組數:%d\n"),sizeof(bool)); //標準c++ bool型別

printf_s(_t("bool所佔位元組數:%d\n"),sizeof(bool)); //typedef int bool;

printf_s(_t("uint所佔位元組數:%d\n"),sizeof(uint)); //typedef unsigned int uint;

system("pause");

}

測試結果如下:

C 字串與位元組陣列互轉

定義string變數為str,記憶體流變數為ms,位元陣列為bt 1.字串轉位元陣列 1 byte bt system.text.encoding.default.getbytes 字串 2 byte bt convert.frombase64string 字串 2.字串轉流 1 memorystr...

計算字串的位元組數

str.charcodeat index 返回字串中字元的unicode編碼 unicode大於255的是兩個位元組 小於等於255的是乙個位元組 unicode 是目前用來解決 ascii 碼 256 個字元限制問題的一種比較流行的解決方案。大家知道,ascii 字符集只有256個字元,用 0 2...

字串與位元組陣列的轉換

字串與位元組陣列的轉換 string str helloworld byte data str.getbytes for int x 0 x data.length x data x 32 system.out.print datd x system.out.println new string d...