Ben bir dize ve bir uzunluğa içeren bir yapı var. Ancak, bu yapının içeriğini printf
benzeri bir işlev kullanarak çıktılamak istiyorum. data
, bir nul sonlandırıcısına sahip olmayabilir (veya yanlış yere sahip olabilir), bu yüzden %s
kullanamıyorum. Ancak belirteci, size_t
sahipken int
gerektirir.Printf Değişken dize uzunluğu Specifier
Şimdi sorun şu ki, string printf
kullanarak nasıl çıktı verebilirim?
* Bir 'size_t 'değerini" int "' ye dönüştürebilirsiniz, buradaki değer uyuyorsa ... –
@KerrekSB Eğer uzunluk bir" int "değerine uymuyorsa, bu ilginç bir 'printf' olacaktır. Çağrı :-)) Taşması gerektiğinden emin olmalı. – cnicutar
Eğer 'data' yazdırılamayan karakterler içeriyorsa (boş karakter gibi), '% s' istemezsiniz. Bir döngü yaz. –