الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

gets function

مغلق
بدأه St0rM-m4n في 3 أبريل 2007 · 1 رد · 459 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

gets function

sams teach you self ..........

بيقول انها بترجع قيمة pointer to type char

للمكان الي اتخزنت فيه القيمه يعني اول عنوان للسلسله النصيه

بس انا لما عملت كده

while(*(ptr=gets(ptr2))!=NULL)

the compiler gives me this

اقتباس
[Warning] comparison between pointer and integer

ارجو الافاده لاني لااافهم علي رغم ان المثال موضوع في الكتاب

شكرا

تم تعديل هذه المشاركة بواسطة St0rM-m4n في 3 أبريل 2007 في 17:33

#2

السلام عليكم ,,

الحقيقة أني لا أستخدم مكتبات الـ C و لكن أستخدم مكتبات ++C و لكن سأحاول الإجابة على سؤالك ,,

while( ( ptr = gets ( ptr2 ) ) != NULL ){

// do what ever you want with ptr here...
}

أعتقد أن هذه هي الطريقة الصحيحة ,, لأن ما تعيده الدالة هو NULL في حالة وجود خطأ أو عدم إدخال أي شيء ,, و المعنى أنها تعيد العنوان صفر ( NULL ) إلى ptr

أما عندما تضع النجمة * فإنك تحاول الوصول إلى محتوى العنوان صفر في الذاكرة و هي عملية غير مسموحة إلا لنظام التشغيل أي أن البرامج لا يسمح لها بالوصول إلى العنوان صفر في الذاكرة ,,

يمكنك الاطلاع على الدالة من هذا الرابط : gets funtion

أرجو أن تكون إجابتي صحيحة ,, تحياتي

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 3 أبريل 2007 في 17:49

هذا الموضوع مغلق.

مواضيع مشابهة