0 امتیاز
قبل در کامپیوتر و اینترنت توسط (4.9هزار امتیاز)
در C++‎ چطور می‌توانیم قبل از آخرین نویسه‌ای که به خروجی رفته است چیزی بنویسیم؟ مثلا الآن حرف a را به خروجی فرستاده‌ایم، اگر حالا حرف b را به خروجی ببریم نتیجه می‌شود ab اما می‌خواهم b قبل از a درج شود (ba). دنبال جوابی هستم که از طریق دستکاری در جریان خروجی این اتفاق بیفتد نه اینکه مثلا از آرایه یا چنین ساختارهایی استفاده کنم.

با استفاده از دنباله گریز ‎/b مکان‌نما در خروجی یک قدم عقب می‌رود اما اگر بعد از این کار چیزی بنویسیم روی نویسه‌ی قبلی نوشته می‌شود نه قبلش. یعنی بعد از دستور cout << "a" << "\b" << "b";‎ نتیجه b است نه ba.
قبل توسط (1.9هزار امتیاز)
شما دیگه در زمانی که به Compiler می گید کار من تمام اون وقت قصد انجام کاری دارید از دید انجام کار چیزی مشخص نیست ولی روال کاری که شما مد نظرتون هست قابل انجام نیست و "b\" مخفف BackSpace است که فقط یک بار مکان نما رو به عقب می کیشه و از اشاره گر استفاده کنید در Ram قرار دهید و از آخرین آدرس بخونید تا اولین
قبل توسط (4.9هزار امتیاز)
- درسته ولی نمیشه از همون اول جهت نوشتن در خروجی رو تغییر بدیم؟ به جای نوشتن در جهت معمول، برعکس بنویسیم؟ یعنی به طور طبیعی اگر هر بار چیزی را به خروجی میفرستیم بعد از خروجی قبلی قرار میگیره؛ حالا ما یه کاری بکنیم که قبل از آخرین خروجی قرار بگیره. یعنی جای بعد و قبل را عوض کنیم. (توی یک خط)
- در مورد ‎\b نمیشه یه کاری کرد که از حالت overtype در بیاد؟
- اشاره‌گر یه چیزی شبیه همون آرایه میشه که نمیخوام ازش استفاده کنم
همینطوری به ذهنم رسید میخواستم فقط ببینم قابل انجام هست (البته بدون کدنویسی زیاد که در این صورت همون آرایه و اینا بهتره)
قبل توسط (1.9هزار امتیاز)
ویرایش شده قبل توسط
هر عبارتی که می خواهید در خروجی نشون بدید در رم قرار می گیرد ولی بدون اشاره گر نمی توانید آدرس Offset رو بدست بیارید و منظور من اینکه می توانید مستقیم در رم بنویسید در مورد اینکه "بدون کدنویسی زیاد و بدون آرایه و ایناه" اتفاقا کدنویسی بیشتری می خواهد البته بنده تا آنجای که اطلاع دارم فکر نمی کنم قابل انجام باشه

1 پاسخ

0 امتیاز
قبل توسط (2.4هزار امتیاز)
در کل که کد زیاد می بره
ولی اگر استادتون گفته از آرایه استفاده نکنید (ببین از صف ها نمی تونی استفاده کنی ) یاز چرا از pointer ها استفاده نمی کنید
اینجاست که ++C بر #C برتریت داره
توی ++C حافظه دست خودتونه و حدودا هر کاری دوست داری می تونید انجام بدهید
شما فرقی نمی کنه از داده های محلی استفاده کنی یا از کاربر می گیری
یه محدوده از خونه حافظه رو بگیر و  محتوای آدرس مقدار بده بعدش به وسیله پوینتر ها اون ها رو از آخرین آدرس تا آدرس اولیه چاپ کن

سوالات مشابه

0 امتیاز
0 پاسخ 314 بازدید
سوال شده 8 سال قبل در کامپیوتر و اینترنت توسط N.SA (801 امتیاز)
+1 امتیاز
1 پاسخ 829 بازدید
0 امتیاز
0 پاسخ 1.2هزار بازدید
سوال شده 9 سال قبل در کامپیوتر و اینترنت توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 787 بازدید
0 امتیاز
1 پاسخ 581 بازدید
0 امتیاز
0 پاسخ 3.1هزار بازدید
0 امتیاز
2 پاسخ 2.7هزار بازدید
0 امتیاز
0 پاسخ 1.3هزار بازدید
0 امتیاز
1 پاسخ 1.3هزار بازدید
...