Hàm so sánh hai chuỗi strcmp h năm 2024

A Chuỗi trong C không gì khác ngoài một tập hợp các ký tự theo một trình tự tuyến tính. 'C' luôn xử lý một chuỗi một dữ liệu mặc dù nó chứa khoảng trắng. Một ký tự đơn được xác định bằng cách sử dụng biểu diễn trích dẫn đơn. Một chuỗi được biểu diễn bằng double Dấu trích dẫn.

Example, "Welcome to the world of programming!"

'C' cung cấp thư viện chuẩn chứa nhiều chức năng có thể được sử dụng để thực hiện các công việc phức tạp operadễ dàng trên Chuỗi trong C.

Làm thế nào để khai báo một chuỗi trong C?

Chuỗi AC là một mảng đơn giản với kiểu dữ liệu char. 'Ngôn ngữ C không hỗ trợ trực tiếp chuỗi dưới dạng kiểu dữ liệu. Do đó, để hiển thị Chuỗi trong C, bạn cần sử dụng mảng ký tự.

Cú pháp chung để khai báo một biến dưới dạng Chuỗi trong C như sau:

char string_variable_name [array_size];

Khai báo chuỗi cổ điển có thể được thực hiện như sau:

char string_name[string_length] = "string";

Kích thước của một mảng phải được xác định trong khi khai báo biến Chuỗi C vì nó được sử dụng để tính toán số lượng ký tự sẽ được lưu trữ bên trong biến chuỗi trong C. Một số ví dụ hợp lệ về khai báo chuỗi như sau:

char first_name[15]; //declaration of a string variable char last_name[15];

Ví dụ trên biểu thị các biến chuỗi có kích thước mảng là 15. Điều này có nghĩa là mảng chuỗi C đã cho có khả năng chứa tối đa 15 ký tự. Việc lập chỉ mục của mảng bắt đầu từ 0 do đó nó sẽ lưu trữ các ký tự từ vị trí 0-14. Trình biên dịch C tự động thêm ký tự NULL '\0' vào mảng ký tự được tạo.

Làm cách nào để khởi tạo một chuỗi trong C?

Cùng nghiên cứu khởi tạo String trong C. Following ví dụ minh họa việc khởi tạo Chuỗi trong C,

char first_name[15] = "ANTHONY"; char first_name[15] = {'A','N','T','H','O','N','Y','\0'}; // NULL character '\0' is required at end in this declaration char string1 [6] = "hello";/ string size = 'h'+'e'+'l'+'l'+'o'+"NULL" = 6 / char string2 [ ] = "world"; / string size = 'w'+'o'+'r'+'l'+'d'+"NULL" = 6 / char string3[6] = {'h', 'e', 'l', 'l', 'o', '\0'} ; /Declaration as set of characters ,Size 6/

Trong chuỗi 3, ký tự NULL phải được thêm rõ ràng và các ký tự được đặt trong dấu ngoặc đơn.

'C' cũng cho phép chúng ta khởi tạo một biến chuỗi mà không xác định kích thước của mảng ký tự. Nó có thể được thực hiện trong phần sauwing đường,

char first_name[ ] = "NATHAN";

Tên String trong C đóng vai trò như một con trỏ vì về cơ bản nó là một mảng.

Đầu vào chuỗi C: Chương trình C để đọc chuỗi

Khi viết các chương trình tương tác yêu cầu người dùng nhập dữ liệu, C cung cấp các hàm scanf(), gets() và fgets() để tìm dòng văn bản được người dùng nhập vào.

Khi sử dụng scanf() để đọc, chúng tôi sử dụng công cụ xác định định dạng “%s” mà không sử dụng “&” để truy cập địa chỉ biến vì tên mảng đóng vai trò như một con trỏ. Ví dụ:

include

int main() { char name[10]; int age; printf("Enter your first name and age: \n"); scanf("%s %d", name, &age); printf("You entered: %s %d",name,age); }

Đầu ra:

Enter your first name and age: John_Smith 48

Vấn đề với hàm scanf là nó không bao giờ đọc toàn bộ Chuỗi trong C. Nó sẽ tạm dừng quá trình đọc ngay khi xảy ra khoảng trắng, nguồn cấp dữ liệu biểu mẫu, tab dọc, dòng mới hoặc trả về đầu dòng. Giả sử chúng ta cung cấp thông tin đầu vào là “Hướng dẫn Guru99” thì hàm scanf sẽ không bao giờ đọc toàn bộ chuỗi vì ký tự khoảng trắng xuất hiện giữa hai tên. Chức năng scanf sẽ chỉ đọc Guru99.

Để đọc một chuỗi chứa khoảng trắng, chúng ta sử dụng hàm gets(). Được bỏ qua các khoảng trắng. Nó dừng lại

đọc khi đến dòng mới (nhấn phím Enter).

Ví dụ:

include

int main() { char full_name[25]; printf("Enter your full name: "); gets(full_name); printf("My full name is %s ",full_name); return 0; }

Đầu ra:

Enter your full name: Dennis Ritchie My full name is Dennis Ritchie

Một cách khác an toàn hơn cho get() là hàm fgets() đọc một số ký tự được chỉ định. Ví dụ:

char string_variable_name [array_size];

0

Đầu ra:

char string_variable_name [array_size];

1

Các đối số fgets() là:

  • tên chuỗi,
  • số lượng ký tự cần đọc,
  • stdin có nghĩa là đọc từ đầu vào tiêu chuẩn là bàn phím.

Đầu ra chuỗi C: Chương trình C để in một chuỗi

Hàm printf tiêu chuẩn được sử dụng để in hoặc hiển thị Chuỗi trong C trên thiết bị đầu ra. Trình xác định định dạng được sử dụng là %s

Thí dụ,

char string_variable_name [array_size];

2

Việc xuất chuỗi được thực hiện bằng các hàm fputs() và printf().

hàm fputs()

fputs() cần tên của chuỗi và một con trỏ tới nơi bạn muốn hiển thị văn bản. Chúng tôi sử dụng thiết bị xuất chuẩn để chỉ đầu ra tiêu chuẩn để in ra màn hình. Ví dụ:

char string_variable_name [array_size];

3

Đầu ra:

char string_variable_name [array_size];

4

đặt chức năng

Hàm đặt được sử dụng để in chuỗi bằng C trên thiết bị đầu ra và di chuyển con trỏ trở lại vị trí đầu tiên. Hàm đặt có thể được sử dụng trong phần sauwing đường,

char string_variable_name [array_size];

5

Cú pháp của hàm này tương đối đơn giản hơn các hàm khác.

Thư viện chuỗi

Thư viện 'C' tiêu chuẩn cung cấp nhiều hàm khác nhau để thao tác với các chuỗi trong một chương trình. Các hàm này còn được gọi là hàm xử lý chuỗi. Tất cả các trình xử lý này đều có mặt bên trong tập tin tiêu đề.

Chức năng Mục đích strlen () Hàm này được sử dụng để tìm độ dài của một chuỗi. Nó trả về số lượng ký tự có trong một chuỗi không bao gồm ký tự NULL. strcat(str1, str2) Hàm này được sử dụng để kết hợp hai chuỗi lại với nhau để tạo thành một chuỗi duy nhất. Nó nối hoặc nối str2 vào cuối str1 và trả về một con trỏ tới str1. strcmp(str1, str2) Hàm này được sử dụng để so sánh hai chuỗi với nhau. Nó trả về 0 nếu str1 bằng str2, nhỏ hơn 0 nếu str1 < str2 và lớn hơn 0 nếu str1 > str2.

Hãy xem xét chương trình dưới đây thể hiện các hàm thư viện chuỗi:

char string_variable_name [array_size];

6

Đầu ra:

char string_variable_name [array_size];

7

Các chức năng thư viện quan trọng khác là:

  • strncmp(str1, str2, n): nó trả về 0 nếu n ký tự đầu tiên của str1 bằng n ký tự đầu tiên của str2, nhỏ hơn 0 nếu str1 < str2 và lớn hơn 0 nếu str1 > str2.
  • strncpy(str1, str2, n) Hàm này được sử dụng để sao chép một chuỗi từ một chuỗi khác. Sao chép n ký tự đầu tiên của str2 sang str1
  • strchr(str1, c): nó trả về một con trỏ tới lần xuất hiện đầu tiên của char c trong str1 hoặc NULL nếu không tìm thấy ký tự.
  • strrcr(str1, c): nó tìm kiếm ngược lại str1 và trả về một con trỏ tới vị trí của char c trong str1 hoặc NULL nếu không tìm thấy ký tự.
  • strstr(str1, str2): nó trả về một con trỏ tới lần xuất hiện đầu tiên của str2 trong str1 hoặc NULL nếu không tìm thấy str2.
  • strncat(str1, str2, n) Nối (nối) n ký tự đầu tiên của str2 vào cuối str1 và trả về một con trỏ tới str1.
  • strlwr() : chuyển chuỗi thành chữ thường
  • strupr() : chuyển chuỗi thành chữ hoa
  • strrev() : đảo ngược chuỗi

Chuyển đổi một chuỗi thành một số

Trong lập trình C, chúng ta có thể chuyển đổi một chuỗi ký tự số thành giá trị số để tránh lỗi khi chạy. Thư viện stdio.h chứa following Các hàm chuyển chuỗi thành số: