اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

چطور میتونم توسط cin تا انتهای جریان ورودی بخونم؟

+3 امتیاز
361 نمایش

من سعی دارم برنامه‌ای بنویسم که از ورودی (کاربر) یه سری عدد بخونم تا انتهای ورودی استاندارد.( و میخوام این کارو بدون استفاده از حلقه انجام بدم) و تعدادو هم که نمیدونم.
با دستور

 cin.get( input, '\0' )

سعی کردم بخونم، ولی '0\' در واقع به معنی کارکتر پایان ورودی نیست.
الان در این حالت تا جایی میخونه که به '0\' یا EOF برسه.
ینی تنها راه خوندن چند عدد از ورودی اینه که با حلقه نوشته بشه؟

در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده چهارشنبه ۲۷ دی ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده پنجشنبه ۲۹ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز

تنها راهی که شما بتونین متغیرهایی از جریان ورودی بخونید، اینه که از حلقه استفاده کنید. و به نظر میاد ()std::getline بهتر کار کنه:

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}

()getline بصورت پیش فرض تا خط جدید میخونه. شما میتونید یک کارکتر مشخصی رو مشخص کنید که تا اونجا بخونه ولی EOF به تنهایی یک کارکتر نیست پس نمیتونید فقط با یک بار استفاده از getline تا انتهای ورودی رو بخونید.

پاسخ داده شده جمعه ۲۰ بهمن ۱۳۹۱ توسط CPP_Crawler4