10 تابع رشته ای زبان C ضروری
مقاله

10 تابع رشته ای زبان C که برای برنامه نویسان ضروری است

رشته ها یا Strings در چندین زبان برنامه نویسی استفاده می شوند اما در زبان C، برای مدیریت و ویرایش داده های متنی حیاتی هستند. تابع رشته ای زبان C به برنامه نویسان اجازه می دهد تا رشته ها را دستکاری کنند و با سربرگ <string.h>، رشته ها را در یک مکان کپی، ویرایش و مقایسه نمایند. در این مقاله، 10 تابع String که برنامه نویسان C باید از آنها استفاده کنند، مورد بررسی قرار می گیرد.

تابع رشته ای زبان C برای برنامه نویسان

تصویر(1)

توابع رشته ای <string.h> در C

رشته ها یا Strings، دنباله ای از کاراکترهای ذخیره شده در یک آرایه هستند. از توابع زیر برای دستکاری انواع تابع رشته ای زبان C استفاده می شود.

1. کپی رشته: ()strncpy

این تابع تعداد مشخصی از کاراکترها را از یک String به String دیگر کپی می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char source[] = "Hello, World!";
    char destination[20];
    strncpy(destination, source, 5);
    destination[5] = '\0';  // Ensure null-termination
    printf("strncpy(): %s\n", destination);
    return 0;
}

خروجی:

strncpy(): Hello

2. اتصال رشته ها: ()strncat

این تابع رشته ای زبان C، تعداد مشخصی از کاراکترها را از رشته دوم به رشته اول متصل می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char str1[20] = "Hello, ";
    char str2[] = "World!";
    strncat(str1, str2, 3);
    printf("strncat(): %s\n", str1);
    return 0;
}

خروجی:

strncat(): Hello, Wor

3. مقایسه رشته ها: ()strncmp

این تابع تعداد مشخصی از کاراکترها را بین دو رشته مقایسه می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char str3[] = "apple";
    char str4[] = "appetizer";
    int result = strncmp(str3, str4, 4);
    printf("strncmp(): %d\n", result);
    return 0;
}

خروجی:

strncmp(): 7

4. اولین مکان یک کاراکتر: ()strchr

این تابع اولین مکان یک کاراکتر در رشته را تعیین می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char sentence[] = "This is a sample sentence.";
    char *ptr = strchr(sentence, 'a');
    printf("strchr(): %s\n", ptr);
    return 0;
}

خروجی:

strchr(): a sample sentence.

5. آخرین مکان کاراکتر: ()strrchr

این تابع رشته ای زبان C، آخرین مکان یک کاراکتر در رشته را تعیین می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char sentence[] = "This is a sample sentence.";
    char *lastPtr = strrchr(sentence, 'a');
    printf("strrchr(): %s\n", lastPtr);
    return 0;
}

خروجی:

strrchr(): ample sentence.

6. جستجوی رشته: ()strstr

این تابع اولین مکان یک substring یا زیر رشته را در رشته ای بزرگتر جستجو می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char text[] = "The quick brown fox jumps over the lazy dog.";
    char *substr = strstr(text, "fox");
    printf("strstr(): %s\n", substr);
    return 0;
}

خروجی:

strstr(): fox jumps over the lazy dog.

7. تقسیم رشته: ()strtok

این تابع، رشته ها را بر اساس یک جداکننده خاص، تقسیم می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char sentence[] = "This is a sample sentence";
    char *token = strtok(sentence, " ");
    while (token != NULL) {
        printf("strtok(): %s\n", token);
        token = strtok(NULL, " ");
    }
    return 0;
}

خروجی:

strtok(): This
strtok(): is
strtok(): a
strtok(): sample
strtok(): sentence

8. تبدیل رشته به حروف کوچک: ()strlwr

این تابع یک رشته را به حروف کوچک تبدیل می کند. توجه داشته باشید، تابع مذکور در کتابخانه استاندارد گنجانده نشده است.

مثال:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
void toLowerCase(char *str) {
    for (int i = 0; str[i]; i++) {
        str[i] = tolower((unsigned char)str[i]);
    }
}
int main() {
    char str5[] = "LoWeRcAsE";
    toLowerCase(str5);
    printf("strlwr(): %s\n", str5);
    return 0;
}

خروجی:

strlwr(): lowercase

9. تبدیل رشته به حروف بزرگ: ()strupr

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

مثال:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
void toUpperCase(char *str) {
    for (int i = 0; str[i]; i++) {
        str[i] = toupper((unsigned char)str[i]);
    }
}
int main() {
    char str6[] = "UpperCase";
    toUpperCase(str6);
    printf("strupr(): %s\n", str6);
    return 0;
}

خروجی:

strupr(): UPPERCASE

10. تکرار رشته: ()strdup

این تابع یک رشته را کپی می کند.

مثال:

#include <stdio.h>
#include <string.h>
int main() {
    char original[] = "Original String";
    char *duplicate = strdup(original);
    printf("strdup(): %s\n", duplicate);
    return 0;
}

خروجی:

strdup(): Original String

جمع بندی: استفاده از تابع رشته ای زبان C

استفاده از تابع رشته ای زبان C

تصویر(2)

انواع تابع رشته ای زبان C، به شما کمک می‌کنند تا کارهای مختلفی از تغییرات ساده در متن تا تجزیه و تحلیل داده‌های پیچیده را انجام دهید. درک نحوه کپی کردن، محاسبه طول، اتصال و مقایسه رشته ها دنیایی از امکانات را برای تغییر و پردازش داده ها باز می کند. این لیست از توابع را در دسترس داشته باشید و از آن برای ارتقاء مهارت های برنامه نویسی C خود به سطوح جدید، استفاده کنید.

اشتراک گذاری:

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *