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...