PDA

View Full Version : مبتدی: سوال در موردstringstream



poker97
سه شنبه 28 مهر 1394, 20:44 عصر
سلام دوستان.میشه در موردstringstream بهم توضیج بدین.از روی یه pdf خوندم ولی چیزی نفهمیدم:لبخند:

hamedBB
چهارشنبه 29 مهر 1394, 06:59 صبح
پاسخ کوتاه به سوال شما این هست که stringstream یک ابزار برای دستکاری یک string هست به صورتی که یک سری محدودیت ها رو در مقایسه با استفاده از خود string نداره.
در واقع بهترین توجیح استفاده از stringstream این هست که ما با استفاده از اون میتونیم string رو به راحتی به نوع داده های عددی (int , float , ...) تبدیل کنیم. استفاده از stringstream خیلی شبیه iostream هست و استفاده ازش هم به همون سادگی هست و هدف هم از به وجود اومدنش همین بوده که شما بتونید از string به شکل یه IO استفاده کنید (همونطوری که میتونید در ورودی برنامتون هرچیزی به IO بدید و همونو هم تحویل بگیرید)
میشه هم روی stringstream نوشت هم ازش خوند. (توصیه می کنم که یک مطالعه درباره ی مفهوم stream ها انجام بدی)

یک مثال هم برات میزنم برای واضحتر شدن جواب :



//output stringstream type (istringstream = input stringstream type)
ostringstream output_string_stream;
//you can use useful functions of stringstream
output_string_stream << "this is decimal 12 : " << 12 << "\nthis is hexadecimal 12 : " << std::hex << 12 << endl;
//at the end , print string formatted output
cout<<output_string_stream.str()<<endl;




output : this is decimal 12 : 12
this is hexadecimal 12 : C