SORU
10 AĞUSTOS 2009, PAZARTESİ


C's "kötü" fonksiyonları vs "iyi" alternatif

Nelerdir "" C fonksiyonları, ve ne "iyi" alternatifler? onların kötü

Neden kötü olanları kötü ve iyi olanları daha iyi yapar?

Biliyorum, örneğin, gets() "kötü sınırları herhangi bir formu yok, çünkü" kontrol. Onun daha iyi alternatif nedir? 2**?

scanf() kötü olduğunu duymuştum ama nedenini hatırlamıyorum. Herkes biliyor musun? En iyi alternatif nedir?

Daha fazla var mı?

CEVAP
10 AĞUSTOS 2009, PAZARTESİ


Eski günlerde, string fonksiyonları en sınır kontrolü vardı. Tabii ki sadece eski fonksiyonlarını silmek, ya da kendi imzaları uyumluluk kıracak bir üst sınır, pencere değiştirmek olamazlar. Şimdi, bu fonksiyonların her biri için, orada bir alternatif "n" sürümü. Örneğin:

strcpy -> strncpy
strlen -> strnlen
strcmp -> strncmp
strcat -> strncat
strdup -> strndup
sprintf -> snprintf
wcscpy -> wcsncpy
wcslen -> wcsnlen

Ve daha fazlası.

2013-12-03 düzenleme:

Gcc eğer güvensiz bir işlevi kullanırsanız, bir hata raporu neden olan bir başlık dosyası oluşturmak için bir proje olan da 5* *bakın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dive In

    Dive In

    17 Temmuz 2013
  • John Lynn

    John Lynn

    8 Ocak 2010
  • Phlearn Photoshop and Photography Tutorials

    Phlearn Phot

    11 EKİM 2011