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

  • Droid Life

    Droid Life

    17 Kasım 2009
  • movies95

    movies95

    27 Kasım 2006
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006