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

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • Blu animations and other videos

    Blu animatio

    15 HAZİRAN 2007