به نام خدا..!
سلام
میخوام مطالبی که در مورد 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 که دقیقا همین کاری میکنه که فرمودی
دمت گرم درستش کن!