PDA

View Full Version : سوال: خواندن یک خط کامل در کنسول



h_r_sh
پنج شنبه 29 مرداد 1388, 17:44 عصر
سلام.
چطور میشه یه خط رو از کنسول به طور کامل گرفت؟ من به روش زیر عمل می کنم ولی فقط تا قبل از رسیدن به space انجام میشه:




string s;
cin >> s;
cout << s;

e.g.:
abcde fgh
output: abcde

Nima_NF
پنج شنبه 29 مرداد 1388, 18:14 عصر
cin.getline (name,256);


یعنی تا n\ (خط بعد) یا تا نهایت 256 کارکتر.

h_r_sh
پنج شنبه 29 مرداد 1388, 18:23 عصر
cin.getline (name,256);



یعنی تا n\ (خط بعد) یا تا نهایت 256 کارکتر.




و اگر بیش از 256 کاراکتر داشته باشیم؟

من اینطوری امتحان کردم:




getline(cin, s, '\n');

Nima_NF
جمعه 30 مرداد 1388, 11:51 صبح
این رشته S که شما تعریف کرده اید باید یک طول مشخص داشته باشد، مگر اینکه دارید از string استاندارد ++C استفاده می کنید:



#include <string>
string s1;
getline(cin,s1, '\n');

در غیر این صورت با آرایه ای از char کار خطرناکی هست و حتما طول آن را مشخص کنید (به هر حال نهایت مورد نیاز):



char name[1024]

cin.getline (name, 1024);