به نام خدا..!
سلام
میخوام مطالبی که در مورد String و کتابخونه اش رو یاد گرفتم اینجا بنویسیم!
انشالله به دردتون بخوره!
توجه توجه: هرچند این مطالب برای نوشتن هر برنامه به زبان C کاربرد دارد اما در اینجا این مطلب برای بچه های الکترونیک نوشته شده و منابع ذکر شده نیز مربوط به یک سایت در زمینه الکترونیک میباشد. در نتیجه برنامه نویسان زبان C که میخواهند حرفه ای تر کار کنن به سایت های فارسی موجود دیگر مراجعه کنن احتمالا دوستان در این زمینه مطالب بیشتر و تخصصی تری توی اینترنت منتشر کردن.
تمام مطالب زیر از سایت زیر برداشته شده است!
http://www.keil.com/support/man/docs/c51/c51_string_h.htm
خوب شروع میکیم!
الهی به امید تو...!
1) تابع strchr
اونجور که پیداست این تابع فقط توی یک string یک حرف رو جست و جو میکنه و اگه حرف وجود داشت نقطه (.) رو باز میگردونه!
شکل استفاده اش به صورت زیره
#include <string.h> signed char *strchr ( const signed char *string, /* string to search */ signed char c); /* character to find */
مثالش هم در زیر اوردم
#include <string.h> #include <stdio.h> /* for printf */ void tst_strchr (void) { char *s; char buf [] = "This is a test"; s = strchr (buf, 't'); if (s != NULL) printf ("found a 't' at %s\n", s); }
آدرس توی سایت:
http://www.keil.com/support/man/docs/c166/c166_strchr.htm
2) تابع strcpy
این تابع در واقع یک تابع توی تابع دیگه میریزه! مثل عمل = (تساوی) توی متغییر های عددی میمونه ولی چون نمیشه رشته ها رو مساوی قرار داد از این تابع استفاده میشه!
شکل کلیش به صورت زیره
#include <string.h> signed char *strcpy ( signed char *dst, /* destination string */ const signed char *src); /* source string */
مثالش هم:
#include <string.h> #include <stdio.h> /* for printf */ void tst_strcpy (void) { char buf [21]; char s [] = "Test String"; strcpy (buf, s); strcat (buf, " #2"); printf ("new string is %s\n", buf); }
آدرسش:
http://www.keil.com/support/man/docs/c166/c166_strcpy.htm
3) تابع strlen
این تابع برای تعیین طول رشته استفاده میشه
شکلش:
#include <string.h> int strlen ( char *src); /* source string */
مثال:
#include <string.h> #include <stdio.h> /* for printf */ void tst_strlen (void) { char buf [] = "Find the length of this string"; int len; len = strlen (buf); printf ("string length is %d\n", len); }
آدرس»
http://www.keil.com/support/man/docs/c51/c51_strlen.htm
4) تابع strcat
این تابع مقدار رشته دوم را به رشته اول میچسباند! یعنی رشته اول از بین نمیرود بلکه در اول میاید!
شکل کلی:
#include <string.h> char *strcat ( char *dst, /* destination string */ char *src); /* source string */
مثال:
#include <string.h> #include <stdio.h> /* for printf */ void tst_strcat (void) { char buf [21]; char s [] = "Test String"; strcpy (buf, s); strcat (buf, " #2"); printf ("new string is %s\n", buf); }
آدرس:
http://www.keil.com/support/man/docs/c51/c51_strcat.htm
5) تابع strcmp
برای مقایشه دورشته بکار میره! اگه دو تا رشته متن کاملا یکسان باشن مقدار صفر رو بر میگردونه.
شکل کلی:
#include <string.h> char strcmp ( char *string1, /* first string */ char *string2); /* second string */
مقادیری که بر میگردونه به صورت زیره
| ||||||||
مثال:
#include <string.h> #include <stdio.h> /* for printf */ void tst_strcmp (void) { char buf1 [] = "Bill Smith"; char buf2 [] = "Bill Smithy"; char i; i = strcmp (buf1, buf2); if (i < 0) printf ("buf1 < buf2\n"); else if (i > 0) printf ("buf1 > buf2\n"); else printf ("buf1 == buf2\n"); }
آدرس:
http://www.keil.com/support/man/docs/c51/c51_strcmp.htm
6) تابع strspn
این تابع یک رشته یا یک کاراکتر را در یک رشته جست و جو میکند و اگه حرفی در آن تابع وجود نداشت آن را بیان میکند!
#include <string.h> int strspn ( char *string, /* string to search */ char *set); /* characters to allow */
مثال »
#include <string.h> #include <stdio.h> /* for printf */ void tst_strspn (char *digit_str) { char octd [] = "01234567"; int i; i = strspn (digit_str, octd); if (digit_str [i] != '\0') printf ("%c is not an octal digit\n", digit_str [i]); }
آدرس:
http://www.keil.com/support/man/docs/c51/c51_strspn.htm
سلام
تابع fstrchr رو اشتباه وارد کردی همچین تابعی در کتابخانه ی string.h نیست
درستش اینه strchr که دقیقا همین کاری میکنه که فرمودی
دمت گرم درستش کن!