ورود

View Full Version : سوال: پاک کردن یک کارکتر



emad akefi
دوشنبه 21 اسفند 1391, 14:46 عصر
سلام
من میخوام یه ستاره رو توی صفحه در محیط کنسول با استفاده از صفحه کلید جابه جا کنم برای اینکه چیزی که به ذهن خودم رسیدم اینه که کارکتر قبلی رو پاک کنه و کارکتر جدید رو در مکان جدید چاپ کنه .
حالا اینکه چطوری او قبلی رو پاک کنم رو نمیدونم و البته نمیخوام از system ("cls")d استفاده کنم چون نمیخوام کل صفحه پاک بشه .
لطفا راهنماییم کنید یا اگه راه حل دیگه ای دارید بهم بگین ممنونم

the king
دوشنبه 21 اسفند 1391, 20:04 عصر
سلام
من میخوام یه ستاره رو توی صفحه در محیط کنسول با استفاده از صفحه کلید جابه جا کنم برای اینکه چیزی که به ذهن خودم رسیدم اینه که کارکتر قبلی رو پاک کنه و کارکتر جدید رو در مکان جدید چاپ کنه .
حالا اینکه چطوری او قبلی رو پاک کنم رو نمیدونم و البته نمیخوام از system ("cls")d استفاده کنم چون نمیخوام کل صفحه پاک بشه .
لطفا راهنماییم کنید یا اگه راه حل دیگه ای دارید بهم بگین ممنونم

اگه کاراکتر Backspace (کد اسکی 8 یا b\) رو چاپ کنید، موقعیت چشمکزن یک خونه به عقب منتقل می شه، حالا اگر الان * رو نمایش داده باشید، چشمکزن یک خونه جلوتر از * قرار داره.

اگر بخواهید * یک خونه عقب تر (سمت چپ) نشون داده بشه :
به ترتیب کاراکتر های Backspace و سپس Space (کاراکتر فاصله با کد 32) و سپس دو بار Backspace و سپس یک کاراکتر * رو نمایش دهید :
cout << '\b' << ' ' << '\b' << '\b' << '*';
یا :
cout << "\b \b\b*";