الجمعة، 16 ديسمبر 2016

كيفية اخلاء سلسلة في لغة (how to empty a string) في لغة ِC

لدي string داخل loop في كل مرة يجب أن تأخذ قيمة جديدة، لذا قبل أن أعيطها أي قيمة جديدة أحتاج أن أعيدها إلى حالتها البدئية، و إلا سيتبقى لي بعض الحروف من القيمة السابقة، البحث على الأنترنت قادني إلا هاته الطريقة

char string [] = "value";
string[0] = '\0';

لكن هذا لا ينفع، بالرغم أن بعد طباعة قيمة string لا يظهر اي شيء، فإن قيمة string ما زالت موجودة في الذاكرة، و بمجرد أن أقوم بتغيير قيمة [string[0 إلى أي شيء آخر، ستظهر قيمة string من جديد مثلا

char string [] = "value"; 
string[0] = '\0';
puts(string);//this will print nothing
string[0] = 'a';
puts(string);//this will print "atring"

جربت الكثير غير هذا، كأن أغير جميع الحروف إلى '0\' لكن هذا لم ينفع

جربت أيضا دالة strcpy() و لم تنفع

طالب علوم حسوب جديد، و مشروعي الحالي (لعبة بسيطة) يعتمد على هذا، أتمنى من لديه فكرة أو اقتراح، أن لا يبخل بالمساعدة.



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2gJGdBf

ليست هناك تعليقات:

إرسال تعليق

دائماً، رأيكم يهمنا،