یه سوال خیلی ساده در مورد رشته ها
ببخشید یه سوال خیلی ساده داشتم
میشه یک اسم با فاصله با scanf اسکن کرد و بعد چاپش کرد با printf
میدونم که میشه از gets و puts استفاده کرد ولی تو ch ide یه warning میده که میگه :
WARNING: function gets() is dangerous and should not be used, use fgets()
حالا اگه دلیل این وارنینگو بدین ممنون میشم<بیخیالش>
حالا نمیشه با scanf مثلا گرفت amir hosein و بعد همینو پرینت کرد
خودم یه چیزایی میدونم ولی انجام نمیشه
ممنون میشم اگه زودتر جواب سوال ساده منو بدین
خیلی نوکریم
نقل قول: یه سوال خیلی ساده در مورد رشته ها
نقل قول:
نوشته شده توسط
amir-yeketaz
ببخشید یه سوال خیلی ساده داشتم
میشه یک اسم با فاصله با scanf اسکن کرد و بعد چاپش کرد با printf
میدونم که میشه از gets و puts استفاده کرد ولی تو ch ide یه warning میده که میگه :
WARNING: function gets() is dangerous and should not be used, use fgets()
حالا اگه دلیل این وارنینگو بدین ممنون میشم<بیخیالش>
حالا نمیشه با scanf مثلا گرفت amir hosein و بعد همینو پرینت کرد
خودم یه چیزایی میدونم ولی انجام نمیشه
ممنون میشم اگه زودتر جواب سوال ساده منو بدین
سلام.
gets یک تابع deprecated و ناامن هستش، به این دلیله که شما اون پیام رو میگیرید. (برای توضیحات بیشتر به نوشته های Michael Howard و SDL رجوع کنید).
کدی که شما میخواهید اینه، اما توجه کنید که scanf هم deprecated هستش و باید از scanf_s استفاده کنید.
char s[80] = {NULL};
scanf("%s", s);
printf("The input is: %s", s);
برای مشاهده لیست توابع ناامن و منقضی شده در CRT به این سایت رجوع کنید.
موفق باشید.
نقل قول: یه سوال خیلی ساده در مورد رشته ها
چرا مساوی با{NULL}شد نفهمیدم
راه دیگه ای وجود نداره
نقل قول: یه سوال خیلی ساده در مورد رشته ها
بابا اینم که اجرا نشد
یعنی با زدن یه space میره تو پرینت کردنش
نقل قول: یه سوال خیلی ساده در مورد رشته ها
نقل قول:
نوشته شده توسط
amir-yeketaz
بابا اینم که اجرا نشد یعنی با زدن یه space میره تو پرینت کردنش
سلام.
تازه متوجه سوال شدم. ببخشید. تابع scanf کلیه whitespace ها رو ندیده میگیره. اینجا دو راه دارید، یا دونه به دونه کاراکتر ها رو بگیرید و خودتون توی یک حلقه کنترل کنید که مثلا وقتی Enter زده شد، حلقه رو بشکنید و ...
روش دوم استفاده از gets_s هستش:
char s[80] = {NULL};
gets_s(s, sizeof(s) - 1);
printf("The input is: %s", s);
موفق باشید.
پاورقی: چه اصراری به استفاده از scanf هستش؟
نقل قول: یه سوال خیلی ساده در مورد رشته ها
ببخشید ولی اینم که اجرا نمیشه
میشه برنامه ی کامل استفاده از این نوع اسکنو بفرستین
نقل قول: یه سوال خیلی ساده در مورد رشته ها
نقل قول:
نوشته شده توسط
amir-yeketaz
ببخشید ولی اینم که اجرا نمیشه میشه برنامه ی کامل استفاده از این نوع اسکنو بفرستین
سلام.
شما از چه Compiler ای استفاده می کنید؟