-
برگرداندن از تابع
سلام من می خواستم بدونم تو توربو سی پلاس پلاس چه طوری میشه یک آرایه ای از کاراکتر ها را ازتابع برگردونیم .من وقتی اسم آرایه رو می خوام با علامت& یا بدون اون برگردونم خطا می ده اگرم با نام آرایه رو با * برگردونم نمیشه . فقط حرف اولش بر می گرده.
یه دنیا ممنون میشم زودتر جواب بدین
-
سلام
لطفا اون تکه از برنامتون رو بصورت کد در سایت قرار بدید تا بگم ایراد چیه
-
سلام چون برنامه خیلی طولانی است فقط اول و آخرش رو می ذارم.تابع getfarsi یک کارکتر از صفحه کلید می گیره وفارسی آن را می ده و یک کاراکتر بر می گرداند.
char fget (int x,int y)
{ Char ch1,ch2,ch,b,s[255];
int i,k,j,l;
k=x;
i=0;
j=2+y;
gotoxy(80-k,j);
ch1= getch();
ch2=getfarsi(ch1) ;
s[0]=ch2;
cout<<ch2;
while (13!=ch1) {
ch1= getch();
ch2 = getfarsi(ch1);
…………………..
………………………(تغییرات روی و چاپش ch2 , s[i])
k++; i++;
gotoxy(81-k, j);
cout<<ch2;
s[i]=ch2;}
return *s; }
void fasorat()
{int i;
char ans,ch;
ofstream file("e:\soratjalase.txt",ios::app|ios::binary);
if(!file){
cout<<"cannot open file.";
exit(0); }
ans='y';
while(ans=='y'){
gotoxy(32,4);
*f.name=fget(18,3);
……………………
cin>>ans;}
-
ok u can use from a global variable or call by refrence
-
سلام
مقدار بازگشتی تابع رو در تعریفش *char اعلام کنید بعدش داخل تابع نتیجه کارهاتون رو هم توی یک اشاره گر به کاراکتر بریزید و همون رو return کنید. فقط باید موقع استفاده حواستون باشه که اگر از این تابع شما استفاده میشه حافظه های تخصیص داده شده در تایع شما بعدا آزاد بشه.
ممنون علی
-
به دلیل اینکه در c اصلا چیزی به نام رشته نداریم ما فقط آرایه ای از کاراکترها را داریم که می تونیم هر طوری بخوایم چاپشون کنیم و به خروجی ببریم هر عملی روی اونا انجام بدیم
موفق باشید