面向安全的健壯可靠的C 程式設計之 字串串

2021-10-01 13:49:35 字數 385 閱讀 2060

提到字串串,很多人頭大。也有不少人不知道自己用錯了。

窄字元和寬字元

通俗點講,就是常遇到的亂碼問題。處理窄字元和寬字元呼叫的庫函式是不同的,如下表所示。

下面3個函式是常用的,也是容易混淆的:

strlen()返回的是位元組數(對中英文不一致,中文佔兩個位元組,不包括』/0』)

wcslen()返回的是字元數(對中英文一致)。

sizeof返回的是位元組數(包含』/0』,而』/0』在unicode下也是佔兩個位元組的)。

字串溢位

陣列溢位是很多程式設計師的噩夢。可能查詢了幾天的錯誤,居然是陣列溢位。

物件導向的程式設計之static關鍵字

關鍵字static具有計數的功能,static 變數放在記憶體data segment區,若沒有static 定義的變數則成為成員變數作為new出來的物件的引數,下面分別將給出兩個程式以示區別以及執行的記憶體分析圖如下 程式一 有static public class cat void info p...

物件導向的程式設計之 init

在python的類中有很多方法的名字有特殊的重要意義。現在我們將學習 init 方法的意義。init 方法在類的乙個物件被建立時,馬上執行。這個方法可以用來對你的物件做一些你希望的 初始化 注意,這個名稱的開始和結尾都是雙下劃線。例如 usr bin python filename class in...

PHP安全程式設計之PHP的安全模式

php的safe mode選項的目的是為了解決本小節前後所述的某些問題。但是,在php層面上去解決這類問題從架構上來看是不正確的,正如php手冊所述 當安全模式生效時,php會對正在執行的指令碼所讀取 或所操作 檔案的屬主進行檢查,以保證與該指令碼的屬主是相同的。雖然這樣確實可以防範本章中的很多例子...