Windows'tan C++ kodunu Linux altında çalışmak üzere dönüştürüyorum ve bu işlevi "vsprintf_s" ile karşılaştım. Microsoft'a özgü bir işlevdir, bu yüzden Linux'ta bir değişiklik olup olmadığını sormak isterim. TeşekkürlerDeğiştirme?
5
A
cevap
3
vsnprintf(), linux.die.net'a göre uygun bir yedek olabilir.
+3
'den farklı olan _vscprintf işlevi için sorunu çözer. Bu yakındır, ancak taşma işleme davranışları oldukça farklıdır. 'vsprintf_s', taşma teşebbüsünde programı iptal ediyor. 'vsnprintf' çıktıyı keser ve devam eder. – user4581301
İlgili konular
- 1. değiştirme
- 2. iframe'de yön değiştirme yönünü değiştirme
- 3. Parçaları değiştirme ve yön değiştirme
- 4. Tüm UI'yi oryantasyon değiştirme üzerinde değiştirme
- 5. CSV dışa aktarma dosyası için değiştirme değiştirme
- 6. Yenileme/değiştirme sayfasından sonra oturum değişkenini değiştirme
- 7. Radyo düğmesi seçimi ile değiştirme işlevi değiştirme
- 8. char [] dizi harfini değiştirme ve değiştirme
- 9. değiştirme watchpaths
- 10. değiştirme biçimi
- 11. GWT değiştirme
- 12. değiştirme metni
- 13. ^kelime^değiştirme ^?
- 14. değiştirme değeri
- 15. Çubuk şeklin kalınlığını değiştirme çubuğunda değiştirme - MATLAB R2015a
- 16. Durum çubuğunun rengini değiştirme Parça değiştirme [Android Lollipop]
- 17. Hızlı başlangıç ve bitiş metnini değiştirme ve değiştirme metni Normal
- 18. HttpHandler'da Çerez Değerini Değiştirme
- 19. Çapraz birleştirme sorgusunu değiştirme
- 20. textarea'da seçili metni değiştirme
- 21. AlertDialog.Builder düğme rengini değiştirme
- 22. Velocity ile birleştirme/değiştirme
- 23. HtmlAgility etiketlerini değiştirme
- 24. javascript'te görüntünün rengini değiştirme
- 25. Dinamik olarak JLabel'i değiştirme
- 26. Netbeans'de Git işleyicisini değiştirme
- 27. Çalışma zamanında menü değiştirme
- 28. Ziyaretçiden gelen özellikleri değiştirme
- 29. Subversion dosya izinlerini değiştirme
- 30. GridView başlık yerleşimini değiştirme
Bkz. [TR 24731 'güvenli' işlevlerini kullanıyor musunuz?] (Https://stackoverflow.com/questions/372980/do-you-use-the-tr-24731-safe-functions) hakkında bilgi için bkz. '* _s()', Microsoft dışı kütüphaneler aracılığıyla doğrudan erişilemeyen işlevler - örneğin, Linux veya Mac OS X'te mevcut değildir. Hayır, doğrudan mevcut değildir. 'Vsnprintf()' ile oldukça yakın olabilirsiniz, ancak çağrı dizilerinde (çoklu farklılıklar) kesinlikle farklılıklar vardır. –
Bkz. [This] (http://stackoverflow.com/questions/4785381/replacement-for-ms-vscprintf-on-macos-linux). – Martin
@Martin bağlantısı, vsprintf_s –