PDA

View Full Version : مبتدی: یافتن blank و جایگزینی آن با یک کاراکتر دیگر



smemamian
سه شنبه 30 آبان 1391, 00:27 صبح
سلام دوستان
در مورد توابع رشته ها می خوندم که این سوال به ذهنم رسید, میشه در یک رشته وردی فضاهای خالی یافت و سپس با یک کاراکتر دیگه مثلا ستاره (*) جایگزین بشن بعد اون چاپ بشه ؟

H_G_G_I
سه شنبه 30 آبان 1391, 09:09 صبح
دوست عزیز کد سی شارپ چرا میدی !!!!!!!!
اول نگاه کن این جا کجا ست >> برنامه نویسی با C - برنامه نویسی با زبان C و ++C

بفرمایید من تابعش رو نوشتم !
کارش اینه که تا به نتهای رشته نرسیدیم ! دونه دونه کاراکتر رو مقایسه می کنه و اگه اونی که ما می خواهیم بود جایگزینش می کنه !

#include <iostream>

void str_replace( char* _str, char _targ, char _replace)
{
while((*_str) != 0)
{
if((*_str) == _targ)
(*_str) = _replace;
_str++;
}
}

int main(int argc, char* argv[])
{
char l_text[] = "this is test";
str_replace(l_text, ' ', '*');
std::cout << l_text << '\n';
system("PAUSE");
}

smemamian
سه شنبه 30 آبان 1391, 18:39 عصر
خیلی ممنونم .

فقط چند سوال, میدونم مبتدی است, شرمنده .

1- در مورد حلقه یه کم بیشتر توضیح بدین, چرا 0=! ؟ یعنی تا وقتی که به آخر رشته نرسیده متوقف نشود ؟

2- وجود دش (_) قبل از تعریف متغیرها منظور چیه ؟

3- std:: رو قبل cout حذف کردم باز اجرا شد, چی هست ؟

4- اگه بخواهیم n کاراکتر رو با فضای خالی جایگزین کنیم چطوری میشه؟:متفکر:

H_G_G_I
سه شنبه 30 آبان 1391, 19:30 عصر
1 >> بله یعنی تا وقتی که به اخر نرسیده !
2 >> برای نام گزاری متغیر ها میشه از _ استفاده کرد از $ هم میشه ! من همیشه ارگومان های تابع رو با _ شروع می کنم ! تا با بقیه متغییر ها قاطی نشه و قابل فهم تر باشه !
3 >> چرا اون طوریه سوال سوم ؟ یا برای من اونطوریه ! :متعجب:
4 >> چون سایز ارایه تغییر می کنه یکم درد سر داره ! ولی میشه اول یه بار بررسی کنی ببینی کلا چند تا فضای خالی هست اون وقت می تونی اندازه ارایه چقدر باید باشه !
و بعد هم کارای دیگه رو انجام بدی !
کد نمی شه گذاشت بهتره اول خودتون سعی کنید !
:لبخندساده:

smemamian
سه شنبه 30 آبان 1391, 20:44 عصر
سوال سوم مگه چطوریه ؟ مشکل در نمایش سوال دارین ؟ :متفکر: