۳ـ۱۰ برنامه زیر کاربرد تابع scanf را برای خواندن رشتههایی که شامل حروف بزرگ و فضای خالی است نشان میدهد. طول این رشته با درنظر گرفتن کاراکتر پایان رشته ۸۰ کاراکتر خواهد بود.
#include<stdio.h>
main ()
{
char line[80] ;
……….
scanf(“%[ ABCDEFGHIJKLMNOPQRSTUVWXYZ ]”, line) ;
……….
}
حال اگر از طریق ورودی، رشته COMPUTER SCIENCE وارد شود، وقتی که برنامه اجرا میگردد، تمامی رشته مزبور به آرایه line نسبت داده میشود. به هرحال اگر یکی از حروف رشته مزبور به حرف کوچک تایپ شود، ورود رشته در همان کاراکتر خاتمه میپذیرد. مثلاً اگر در مثال بالا p بهصورت کوچک تایپ شود، فقط سه حرف com به آرایه line نسبت داده میشود و عمل خواندن در حرف چهارم (حرف p) خاتمه خواهد یافت.
راه دیگر آن است که به جای اینکه کاراکترهای مجاز در رشته مورد نظر را در داخل کروشه ذکر کنیم، فقط کاراکترهایی را که مجاز نیستیم در رشتهها به کار ببریم مشخص میکنیم. برای این کار کافی است کاراکترهای مورد نظر را به دنبال نماد “^” که circumflex نامیده میشود، در داخل کروشه قرار دهیم. یعنی در اینجا نقش کاراکترهای کروشهای عکس حالت قبلی است و وجود هرکدام از آنها در داخل یک رشته موجب قطع ورود بقیه کاراکترهای رشته میگردد و عمل خواندن رشته خاتمه میپذیرد.
اگر کاراکتر داخل کروشهها که بعد از “^” میآید، فقط کاراکتر خط جدید “\n” باشد، رشتهای که از طریق دستگاه ورودی استاندارد وارد میشود هر کاراکتر اسکی به جز کاراکتر خط جدید را شامل میشود. بنابراین، کاربر میتواند هرچه خواست بهعنوان کاراکترهای رشته وارد کند و در پایان کلید Enter را فشار دهد. این کلید کاراکتر خط جدید را صادر میکند و درنتیجه پایان رشته را اعلام خواهد کرد.