我有一個包含字符串長度的結構:printf的變量字符串長度說明
typedef struct string {
char* data;
size_t len;
} string_t;
這是所有罰款和花花公子。但是,我希望能夠使用類似於printf
的函數來輸出此結構的內容。 data
可能沒有nul結束符(或者它在錯誤的地方),所以我不能只使用%s
。但%.*s
說明符需要一個int
,而我有一個size_t
。
所以現在的問題是,我怎樣才能使用printf
輸出字符串?
如果長度不適合'int',那將是一個有趣的'printf',那麼你可以*將一個'size_t'轉換爲'int',只要該值符合... –
@KerrekSB調用:-))應該檢查,因爲它可能會溢出。 – cnicutar
如果'data'可能包含不可打印的字符(如空字符),則根本不需要'%s'。寫一個循環。 –