آخرین اخبار و مقالات و مطالب پیرامون index در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران

بر روی این دامنه اینترنتی

سیستم مدیریت محتوا

پارس

سی ام اس

نصب شده است که نرم افزاری قوی جهت

طراحی سایت

می باشد.

طراحی وب

با استفاده از

پرتال

(

پورتال

) پارس منجر به

طراحی وب سایت

شما می شود.

طراحی وب سایت

کپی رایت

پورتال

پارس

اسپاگتی با طعم استاندارد

دو هفته پیش درباره مفهوم رشته ها توضیح دادیم، حال قصد داریم توابع کار با رشته ها که در کتابخانه استاندارد c وجود دارد را با هم بررسی کنیم و با آنها بیشتر آشنا بشویم.
این توابع در کتابخانه ای به نام string.h هستند، پس برای استفاده از آنها باید دستور زیر را در آغاز کدهای خود بنویسیم:
#include «string.h»
این دستور به کامپایلر می فهماند که برنامه ما از این کتابخانه استفاده کرده و برای کامپایل نیاز است این کتابخانه نیز بارگذاری شود. این توابع را به ترتیب بررسی می کنیم:
توابع ترکیب رشته ها
strcat: این تابع دو رشته را گرفته و به هم می چسباند و سپس نتیجه را به عنوان خروجی بر می گرداند.
تعریف تابع به صورت زیر است:
char * strcat ( char * destination, char * source );
strncat: این تابع دقیقا مثل تابع بالا رفتار می کند، با این تفاوت که به اندازه مشخصی از رشته دومی را به رشته اولی می چسباند. مثلا:
char str1[] = “jamejam”;
char str2[] = “online”;
strncat(str1,str2,2);
output » jamejamon
نحوه تعریف این تابع به صورت زیر است:
char * strncat (char * destination, char * source, size_t num);
اگر به جای num طول رشته دومی را بدهیم همان کار تابع بالا را انجام می دهد.
strcpy: این تابع یکی از توابع مهم در رشته هاست، این تابع یک رشته را در یک رشته دیگر کپی می کند.
نحوه تعریف این تابع به صورت زیر است:
char * strcpy ( char * destination, char * source );
strncpy: این تابع عملی شبیه به strncat برای strcat دارد، یعنی شما مقدار محدودی از یک رشته را در رشته دیگر کپی می کنید.
نحوه تعریف آن نیز مثل strncat است:
char * strncoy ( char * destination, char * source, size_t num );
strcmp: این تابع دو رشته را با هم مقایسه می کند و یک عدد صحیح را به عنوان خروجی برمی گرداند. اگر دو رشته با هم برابر باشند مقدار صفر را به عنوان خروجی برمی گرداند.
اگر دو رشته با هم متفاوت باشند همین که به اولین کاراکترهایی که مخالف هم هستند رسید آن کاراکتر در رشته دوم را با کاراکتر متناظر از رشته اول مقایسه می کند، اگر بزرگتر بود (کد اسکی دو کاراکتر با هم مقایسه می شوند) عدد ?- و اگر کوچکتر بود ? را برمی گرداند. تابع به صورت زیر تعریف شده است:
int strcmp ( const char * str1, const char * str2 );
strncmp: این تابع نیز مانند باقی توابع دارای n یک مقدار مشخص از یک رشته را با رشته دیگر مقایسه می کند و نحوه تعریف آن به صورت زیر است:
int strncmp ( const char * str1, const char * str2, size_t num );
در استفاده از تمامی توابع بالا جهت حصول از اطمینان از عملکرد توابع پیشنهاد می شود از تعریف دوم تابع استفاده کنید مثلا strncat به جای strcat، استفاده از این توابع باعث می شود امنیت کد شما بیشتر باشد (درباره خطای overflow پیشتر توضیح داده شده است، همین طور در مقاله دو هفته پیش در مورد رشته ها).
strchr: این تابع محل یک کاراکتر را مشخص می کند. نحوه تعریف این تابع به صورت زیر است:
char * strchr (char * str, int character );
این تابع یک رشته و کد اسکی یک کاراکتر را می گیرد یا یک کاراکتر را گرفته و در رشته اول دنبال اولین محل رخداد کاراکتر داده شده می گردد، سپس باقی رشته را از آن محل به صورت خروجی بر می گرداند. به عنوان مثال:
char str1[] = “jamejam”;
char* find;
find = strchr(str1,’m’);
puts(find);
output » mejam
برای این که ببینیم یک کاراکتر در یک رشته چندبار تکرار شده است، باید آن را در یک حلقه قرار دهیم و هر بار تابع strchr را اجرا کنیم، به صورت زیر:
find=strchr(str1,’m’);
while (find!=null) {
printf (“found at %d\n”,find-str1+1);
find=strchr(find+1,’s’);
}
strtok: این تابع 2 رشته را به عنوان ورودی دریافت می کند و سپس رشته اول را بر اساس رشته دوم که نقش جداکننده دارد جدا می کند. به طور مثال رشته this is test را گرفته و رشته “ “(فاصله) را نیز به عنوان ورودی می گیرد و سپس this را بر می گرداند. اگر بخواهیم کل رشته را با استفاده از جداکننده جدا کنیم باید آن را در یک حلقه به صورت زیر فراخوانی کنیم:
char str[] = “this is a test”;
char * find;
find=strtok(str,” “);
while (find!=null) {
puts(find);
find=strtok(find+1,” “);
}
strlen: این تابع یکی از اساسی ترین توابع در کتابخانه string.h است، این تابع طول رشته را برمی گرداند.
همان طور که گفته شد رشته ها با \0 یا کاراکتری که کد اسکی آن صفر است خاتمه پیدا می کنند.
به عنوان تمرین انتظار می رود که خوانند گان توابع بالا را خودشان بنویسند، به طور مثال تابع strlen را می توان به صورت زیر نوشت:
int _strlen(char* str) {
int index = 0;
while(str[++index]!=0);
return index;
}
برای آشنایی بیشتر با این توابع به نشانی زیر بروید:
http://www.cplusplus.com/reference/clibrary/cstring/
امیربهاءالدین سبط الشیخ


پرسش و پاسخ

سجاد از کرمانشاه مدتی است یواس بی های روی کیس کامپیوترم کار نمی کنند. تا چند وقت پیش گاهی اوقات کار می کرد اما حالا اصلا کار نمی کند و سیستم می گوید یک سخت افزار جدید اضافه شده، در حالی که هیچ سخت افزاری اضافه نشده است. ویندوزم را عوض کردم و با نود32 اسکن کردم و سوکت های یواس بی داخل کیسم را محکم کردم، اما فایده ای نداشت. با توجه به این که سیستم از اضافه شدن سخت افزار جدید خبر می دهد، احتمال دارد، سیستم شما پورت های usb را نشناخته باشد (به دلایل مختلف از جمله نصب برخی نرم افزارها و. ...

منبع : جام جم آنلاین    تاریخ : 25   مهر   1389   شاخه : ترفندها   


استفاده یک سوم کاربران از تلفن همراه در سرویس های بهداشتی

... تحقیقاتی که توسط موسسه index انجام شده نشان داده بیش از نیمی از افراد داخل تخت خوابشان از تلفن همراه استفاده می کنند، در حالی که یک پنجم رانندگان از این گوشی ها هنگام رانندگی برای دسترسی به اینترنت بهره می برند ... بر اساس گزارش index، حدود 36 درصد کاربران گوشی هوشمند دارند و بیش از یک سوم آنها تقریبا هر روز از گوشی هوشمندشان برای دسترسی به وب سایت های شبکه اجتماعی بهره می برند ...

منبع : موبنا    تاریخ : 13   مهر   1389   شاخه : موبایل   


جوهر افشان های پرفروش اچ پی

... این دستگاه دارای ویژگی هایی چون، تجهیز به حافظه 32 مگابایتی، قابلیت چاپ دوطرفه و چاپ بدون حاشیه اسناد، قابلیت چاپ رویpaper (brochure, inkjet, plain), photo, envelopes, cards (index), transparencies و ... این چاپگر قابلیت چاپ رویpaper (brochure, inkjet, plain), photo, envelopes, cards (index), transparencies را داشته و با قیمت 275 هزار تومان و با ضمانت شرکت سرزمین سبز به فروش می رسد ...

منبع : دنیای اقتصاد    تاریخ : 29   شهریور   1389   شاخه : سخت افزار   


بالاتر دیده شوید

... مقدار پیش فرض « index,follow» است و بهتر است این مقدار را تغییر ندهید مگر این که بدانید چه کاری می کنید ...

منبع : جام جم آنلاین    تاریخ : 31   مرداد   1389   شاخه : وب   


کوچک ترین پولساز جهان

این روزها هرگاه در اخبار جهان فناوری اطلاعات گشتی می زنیم، موضوع یا تفسیری هم درباره نرم افزارهای اپل می شنویم. طرفداران پروپاقرص آیفون، آیپاد و لوازمی از این دست، در بسیاری از کشورهای دنیا، تنها به دلیل یک حس زیبایی شناسی خاص به مارک سیب نیم خورده حک شده بر محصولات این شرکت به آن نمی بالند، بلکه این مباهات به خاطر کارکردهای سخت افزار منحصربه فرد آن است که در سیستم عاملی هوشمند بر پایه یونیکس متجلی شده است. ...

منبع : جام جم آنلاین    تاریخ : 31   مرداد   1389   شاخه : موبایل   


برگزاری دوره های آموزشی آلباتروس

ایتنا- تیم اپن سوزه فارسی http://opensuse.ir دوره آموزشی آلباتروس را برگزار می کند. سینا سعیدی مدیر اجرایی این طرح در گفت و گو با ایتنا در خصوص اهداف این طرح آموزشی گفت: هدف از این طرح، ارتقاء سطح سواد لینوکس، انتقال تجربیات از افراد باتجربه به کاربران تازه کار، آشنایی با فرصت های شغلی در زمینه لینوکس و بالابردن سطح سواد انگلیسی کلیه علاقه مندان به لینوکس است. وی در ادامه افزود: شرکت در این دوره کاملا رایگان است و هیچگونه شرایط سنی برای حضور در این دوره مطرح نیست. ...



تبدیل فرمت دیسک از ext3 به ext4

... 2 - با دیسک زنده اوبونتو (یا هر توزیع دیگر) بالا بیایید و کد زیر را بنویسید تا پارتیشن شما تبدیل شود: sudo bashtune2fs -o extents,uninit_bg dir_index /dev/sda1e2fsck -pf /dev/sda1, 3 - پارتیشن را شناسانده و سپس نوع آن را در فایل fstab تغییر دهید: sudo bashmount -t ext4 /dev/sda1 /mntnano /mnt/etc/fstab 4 - گام بعدی اختیاری است، اما ممکن است با انجام ندادن آن سیستم تان بالا نیاید، بنابراین دستور بعدی که وارد می کنید، دستور زیر است، که قرار است grub را به روزرسانی کند ...

منبع : جام جم آنلاین    تاریخ : 16   اسفند   1388   شاخه : ترفندها   


outside؛ گزارشگر آیفونی شرایط آب و هوا

... با زدن ضربه به قسمت پایین صفحه شرح اطلاعاتی مانند uv index( مربوط به اشعه ماورابنفش)، رطوبت، توده ابری، سرعت و جهت وزش بادو همچنین زمان طلوع و غروب خورشید برایتان نمایش داده می شود ...



قالب گیری دیجیتال

... چاره چیست؟ ما این مشکل را این گونه حل می کنیم: int index = 0; for (index = begin; index « getlength(buffer) ; index++){ result[result_len + index] = buffer[index];} result_len += index; result_len++; begin++; این کد را می نویسیم که بلاک باقی مانده را خوانده و در انتهای رشته خروجی قرار دهد، حالا ما کدی نوشتیم که یک متن را به خطوطی به طول ثابت تبدیل می کند کد این برنامه را می توانید از نشانی زیر دریافت کنید ...

منبع : جام جم آنلاین    تاریخ : 13   دی   1388   شاخه : ترفندها   

صفحه 1
2 3 4


طراحی وب سایت

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player