به نام خدا..!

سلام

میخوام مطالبی که در مورد 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 */

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

 

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