我迷迷糊糊翻過:什麼是sprintf(「%!ld」)?
sprintf(buffer, "%!ld ", date);
我明白LD長整數,但什麼是!
的目的是什麼?我找不到任何這方面的參考,和輸出似乎類似於經典%ld
對我來說
編輯:顯然在我的系統上它附加到變量字符串+to_date('01/01/1904','DD/MM/YYYY'))
...這確實用於查詢數據庫它將日期轉換爲實際的oracle日期(我認爲)。 現在我試着看看這是否是一個特殊的sprintf,它來自哪裏
我迷迷糊糊翻過:什麼是sprintf(「%!ld」)?
sprintf(buffer, "%!ld ", date);
我明白LD長整數,但什麼是!
的目的是什麼?我找不到任何這方面的參考,和輸出似乎類似於經典%ld
對我來說
編輯:顯然在我的系統上它附加到變量字符串+to_date('01/01/1904','DD/MM/YYYY'))
...這確實用於查詢數據庫它將日期轉換爲實際的oracle日期(我認爲)。 現在我試着看看這是否是一個特殊的sprintf,它來自哪裏
據我所知,這不會是有效的printf - 或將只是被忽略。我所知道的唯一的情況,在那裏你使用類似%!
是在Windows的FormatMessage,看到http://msdn.microsoft.com/en-us/library/aa908810.aspx
在這種情況下,'%!ld!'有道理,而不是'%!ld'。但也許這是混淆的根源。 – ugoren
我認爲這將打印%!ld的,因爲這不是在C.有效的格式說明
你在哪裏找到那個代碼? – Mat
你試過了嗎?它有什麼作用?爲什麼你不能假設它只是一段錯誤的代碼? –
這個工作的是什麼系統? gcc只會抱怨。 – mkb