لدي 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() و لم تنفع

تحديث

الأمر كالتالي:

عندي لعبة، اللاعب 1 يدخل كلمة و على اللاعب 2 أن يجدها عبر إخال كل حرف على حدة، هناك ثلاث مستويات مختلفة، بعد أن ينهي اللاعب مستوى ما سواء ربح أم خسر يمكنه أن يلعب مجددا.

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

لهذا يجب علي أن أعيد سلسلة الرموز إلى قيمتها الإبتدائية، حتى يمكنني استعمالها من جديد، بعد ان ينهي اللاعب مستوى ما، و يلعب مستوى أخرى، و لا يمكنني أن أعرفها داخل الحلقة، لأنه يجب علي تعريفها في كل مستوى على حدة.