به نام خدا..!

سلام

میخوام مطالبی که در مورد String  و کتابخونه اش رو یاد گرفتم اینجا بنویسیم!

انشالله به دردتون بخوره!

تمام مطالب زیر از سایت زیر برداشته شده است!

http://www.keil.com/support/man/docs/c51/c51_string_h.htm

خوب شروع میکیم!

الهی به امید تو...!


1) تابع fstrchr

اونجور که پیداست این تابع فقط توی یک string یک حرف رو جست و جو میکنه و اگه حرف وجود داشت نقطه (.) رو باز میگردونه!

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

#include <string.h>
char far *fstrchr (
  const char far *string,   /* string to search */
  char c);

مثالش هم در زیر اوردم

#include <string.h>
#include <stdio.h> /* for printf */
void tst_strchr (char far *buf) {
  char *s;
  s = fstrchr (buf, 't');
  if (s == NULL)
    printf ("No t's in buf.\n");
}

آدرس توی سایت:

http://www.keil.com/support/man/docs/c166/c166_fstrchr.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

برای مقایشه دورشته بکار میره! راستش نمیدونم مقایشه از چه لحاظ هست برابری حرف مثلا sd=sd یا برابری تعداد حروف مثلا as=gh

ولی اونجور که امتحان کردم فکر کنم اگه دو تا رشته متن های کاملا یکسان داشته باشن مساوی حساب میشن ولی اگه تعداد حرف مساوی داشته باشن نا برابر هستند یهنی کوچیک و بزرگن!

شکل کلی:

#include <string.h>
char strcmp (
  char *string1,    /* first string */
  char *string2);   /* second string */

مقادیری که بر میگردونه به صورت زیره


Value Description
< 0 string1 is less than string2
= 0 string1 is equal to string2
> 0 string1 is greater than string2

مثال:

#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