我想用一個號碼(如在printf
功能)更換標誌"%.4d"
我char*
VARÇ - 交換%.4d與字符的int *號就像printf的
例如:
printf("| %.4d |", 2);
,將打印:| 0002 |
我想是這樣的:
int num = 2; //local var for the example
char *number = "| %.4d |", num;
write(1,number,strlen(number));
但是打印:| %.4d |
(不奇怪...)
注:這部分是sighandler裏面,所以我不能使用printf
我發現自己懷疑你試過的代碼產生了你聲稱的輸出,考慮到逗號運算符的語義。 – EOF
'num'是信號處理程序的參數,還是全局的,還是什麼?可能使用'char number [] =「| 0000 |」;'然後根據需要用數字覆蓋數組中的零。奇怪的事實:'strlen()'沒有標記爲同步信號安全,但我不知道爲什麼不。改用'sizeof(number)-1'。 –
你在'char * number =「|%.4d |」,num;'中聲明瞭'int num',然後另一個'num',爲什麼? –