回覆列表
-
1 # 瑞雪陽
-
2 # 靈敏風鈴9h
內容為數字的char,包含0,1,2,3,4,5,6,7,8,9共計10個字元。
這十個字元在存為字元型時,其儲存值為對應的ascii碼,而這些ascii碼是連續的,且按照其本身數字的大小來排列。
這樣就可以將字元值,減去起始ascii碼值實現轉為對應值的效果。
設
int a; //轉換的目標變數。
char c = '7'; //要轉換的字元。
c = a - '0';
這樣得到的就是對應的值了,即c = 7。
如果在檔案中需要多次該操作,則可以定義一個帶參宏,如下:
#define chartonumber(x) (x-'0')
這樣只需要呼叫
c = chartonumber(a);
即可實現效果。
-
3 # 璞玉渾Gin
控制檯中(MFC中同理),int轉char*用sprintf函式,在標頭檔案<stdio.h>中(其實itoa也可以,但不建議使用) 。
-
4 # 使用者109326975638
內容為數字的char,包含0,1,2,3,4,5,6,7,8,9共計10個字元。這十個字元在存為字元型時,其儲存值為對應的ascii碼,而這些ascii碼是連續的,且按照其本身數字的大小來排列。這樣就可以將字元值,減去起始ascii碼值實現轉為對應值的效果。設int a; //轉換的目標變數。char c = '7'; //要轉換的字元。c = a - '0'; 這樣得到的就是對應的值了,即c = 7。如果在檔案中需要多次該操作,則可以定義一個帶參宏,如下:#define chartonumber(x) (x-'0')這樣只需要呼叫c = chartonumber(a);即可實現效果。
int轉char的原理是c語言中的強制型別轉換,只能把int的低地址位的一個一節轉成char,因為int佔4個位元組,char是一個位元組。