PDA

View Full Version : تابع cin.getlin()



suraty
پنج شنبه 19 آبان 1390, 15:46 عصر
سلام
به نظر شما چرا برنامه زیر خطا داره. لطفا اگه می تونید برام رفع خطاش کنید.
خیلی ممنون می شم.

#include"iostream.h"
#include"conio.h"
#include"cstring.h"
#include"stdlib.h"
int main(){
char *name;
name=new char[10];
cin.getline(name);
cout<<*name;
cout<<"\n"<<name;
return 0;
}

developing
شنبه 21 آبان 1390, 12:12 عصر
با سلام

دوست عزيز تابع cin.getline به دو صورت زير نوشته مي شود:
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );

و در اين نحوه ي نوشتن اولين پارامتر خب معلومه، دومين پارامتر تعداد يا اندازه ي رشته ي شما رو نياز داره و سومين پارامتر هم نمايش دهنده ي كاراكتر جداكننده هست. مثلا:
cin.getline(name, 6);
cin.getline(name, 6, '.');

اولين خط يك خط از ورودي مي خونه به اندازه ي حداكثر 6 كاراكتر (يعني يا بايد به انتهاي خط برسيم ويا اينكه 6 كاراكتر از يك خط خونده بشه هر كدوم كه زودتر رخ بده)
دومين خط مثل قبليه با اين تفاوت كه اگه به كاراكتر نقطه(.) برسه كار خوندن رو پايان مي ده.( پس يعني يا بايد به انتهاي خط برسيم، يا 6 كاراكتر بخونيم و يا به نقطه برسيم هر كدوم كه زودتر رخ بده )