atoi函式理解字元儲存

2021-07-14 15:37:37 字數 692 閱讀 4822

程式設計中容易犯錯的就是所要處理的字串沒有以』\0』結尾,如下**

typedef

struct exampletest_param;

test_param test_param;

memset(&test_param, 0, sizeof(test_param));

memcpy(test_param.serial_number, "1234", sizeof(test_param.serial_number));

test_param.index = 49;

printf("serial_number = %d\n", atoi(test_param.serial_number));

輸出列印不是1234,而是12341,只要index賦值在[48,57]之間,都會出錯。

atoi函式的具體實現細節可以檢視這裡

當所處理的字元為非對應的數字時便停止。

這裡需要搞清楚的是字元『0』~『9』而不是數字1~9。

字元在記憶體中是以其對應的ascii值儲存中,如下表對應關係(出處)

當以%c輸出列印時,顯示的是其符號形式(symbol),當以%d輸出列印時,顯示的時其對應的ascii值。

php字串函式理解

1.輸出函式 echo print print printer sprint echo print 都是輸出字串 或者變數 但是 echo 沒有返回值 print 有返回值 printer 可以將陣列進行遍歷輸出 如果用echo 只會輸出array print sprint 格式化並輸出乙個字串 例...

SetBkMode函式理解

輸出的字串時,發現存在背景色,這樣的輸出是破壞背景的。那需要使用什麼方法來保持背景不變,而又能輸出紅色的字串呢?比如按鈕的文字顏色是黑色的,而背景是灰色的。這就需要使用setbkmode函式來設定drawtext函式的輸出方式,顯示裝置共有兩種輸出方式 opaque和transparent。opaq...

OpenGl glenable 函式理解

glenable 用於啟用各種功能。功能由引數決定。與gldisable相對應。gldisable是用來關閉的。兩個函式引數取值是一至的。引數說明 void glenable glenum cap glenum 是unsigned int 型別 cap 是乙個取值。由值決定啟用的功能鍵。各種功能請看...