char的問題,輸出固定長度

2021-05-27 11:39:24 字數 745 閱讀 5052

在匯出自定義檔案時,我要輸出一段固定長度(比如80位元組)的乙個字串,

#define file_head 80

char stroutput[file_head] = "version 1.0 of *** file";

ar.write(stroutput,file_head);

其實定義乙個5個位元組的char陣列時,能寫入的位元組只有4個,最後一位會預設加『\0』

比如char[5]="abcde",這樣會提示陣列越界。

char[2]="好",這樣也會提示陣列越界,

//請注意,如果源**是utf8編碼,乙個漢字佔三個位元組,所以char a[4]="好";

關於sizeof 和 strlen

char a =" 1234" ; 那麼 sizeof(a) 的 值 是多少呢? 答案是5 因為還有乙個位元組存放『\0'

strlen(a) 的值又是多少呢 答案是 4 因為 strlen函式只計算 字串中字元本身的長度 ,不包括結束標誌

sizeof 是關鍵字 strlen是函式

前者用來求每種型別 或者 某個變數 在記憶體上占用的位元組數

後者 是求字串中 字元的個數

如果是往char裡新增單個字元,那就有點不一樣了。

char s1 = "abcd ";

char s2 = ;

int i = sizeof(s1);

int j = sizeof(s2);

結果是 i = 5  j = 4

CSS定義a固定長度

今天遇到了乙個問題,就是在設定a固定長度的時候,width和height屬性不管用。導致a的背景background transparent url無法正常顯示。只好用 將其撐開,感覺這個辦法滿苯的,而且ff和ie對 長度解析不一樣。在網上查詢了半天,終於找到了解決方法,就是加上display bl...

按固定長度讀取檔案

1 defread in block file path 2 block size 100 3 with open file path,rb as f 4while true 5 con f.read block size 每次讀取固定長度到記憶體緩衝區 6yield con7 if con b 8...

oracle 固定長度主鍵的生成

開始接觸oracle,覺著非常繁瑣,連主鍵遞增都要做個序列和觸發器,逐漸了解後,覺著這樣的設計還是非常靈活和實用的,下面的 有注釋,應該不用再多解釋了。可以直接用no做主鍵,放棄id這個字段,只是一直使用id,看不到了不舒服,所以就留著了 有乙個小問題就是序列和觸發器的執行需要加上 這個符號,不知道...