Xin chào, và chào mừng trở lại. Một bài giảng thú vị khác. Trong bài giảng này,
chúng ta sẽ nói nhiều hơn về chuỗi và các
hàm chuỗi, chủ yếu là khả năng tìm kiếm mã hóa và phân tích chuỗi.
Vì vậy, chúng ta hãy thảo luận thêm một số hàm chuỗi. Tìm kiếm một chuỗi.
Tìm kiếm một chuỗi.
Tất cả các hàm này sẽ nằm trong tiêu đề chuỗi.
Có một số hàm tìm kiếm chuỗi được sử dụng cụ thể để bạn
có thể tìm thấy một ký tự cụ thể hoặc một chuỗi con.
Tên của các hàm đó là strchr
và strstr.
Tìm một ký tự hoặc chuỗi con bên trong một chuỗi.
Chúng tôi sẽ cung cấp một số ví dụ về điều đó.
Ngoài ra còn có một số khả năng mã hóa một chuỗi.
Bạn có thể nói mã hóa một chuỗi là gì. Đầu tiên, bạn phải xác định mã thông báo là gì.
Mã thông báo là một chuỗi các ký tự trong một chuỗi được giới hạn bởi dấu phân cách.
Dấu phân tách là một cái gì đó trong chuỗi mà bạn
nhận thấy có ý nghĩa đặc biệt.
Vì vậy, một mã thông báo sẽ là nếu bạn có một chuỗi hoàn chỉnh,
đây là Jason và nó được phân tách bằng dấu cách.
Một mã thông báo có thể là cái này, cái khác có thể là, cái khác có thể là Jason.
Đó là một cách lấy toàn bộ một chuỗi và chia nhỏ nó ra theo những
ranh giới nhất định dựa trên dấu phân cách.
Và bạn muốn đảm bảo rằng dấu phân cách của bạn không
phải là thứ hợp lệ trong chuỗi thực tế. Vì vậy, bạn cũng sử dụng dấu phân
cách khi bạn đọc từ các tệp, cùng một loại khái niệm.
Trường hợp bạn ngắt một câu thành các từ, đó được gọi là mã hóa. Chúng ta sẽ sử dụng hàm này
được gọi là strtok.
Tôi cũng muốn nói về một số chuỗi phân tích. Có rất nhiều thứ trong
số này, nhiều cái khác nhau để kiểm tra xem các ký tự có
phải là ký tự viết thường hay ký tự viết hoa hay chữ
và số hoặc chữ số hay không.
Những điều này chủ yếu được thực hiện trên các ký tự, nhưng các ký tự trong chuỗi bên
và bạn cũng có thể áp dụng chúng cho toàn bộ chuỗi.
Bây giờ chúng ta đang đi sâu vào một số chi tiết hơn về chuỗi.
Và để hiểu một số hàm này, chúng ta phải nói một chút về con trỏ.
Con trỏ là một khái niệm rất lớn trong c.
Chúng ta sẽ có toàn bộ phần dành cho con trỏ.
Có lẽ, cái tiếp theo hoặc cái sau.
Và đó là rất nhiều cuộc thảo luận. Đây có lẽ là chủ đề khó hiểu nhất của ngôn ngữ.
Tôi không muốn xem xét chi tiết điều đó ngay bây giờ vì nó không liên quan.
Tôi chỉ muốn đề cập đến nó, chỉ cho bạn một chút sơ lược về con trỏ là gì để
bạn có thể hiểu một số chức năng mà chúng tôi sẽ sử dụng.
Đó là mục đích duy nhất của việc này. Vì vậy, nếu bạn không hiểu đầy đủ về
các con trỏ sau khi trình chiếu cặp đôi này, đừng lo lắng.
Vì vậy, một lần nữa, chúng ta sẽ thảo luận chi tiết về khái niệm con trỏ.
Nhưng để hiểu một số hàm chuỗi này, tôi muốn cung cấp cho bạn một cái nhìn nhanh.
C cung cấp một loại biến hữu ích đáng chú ý, nó được gọi là con trỏ.
Tôi đã nói về nó. Nó liên quan đến bộ nhớ và phân bổ bộ nhớ.
Một số ngôn ngữ nếu bạn đã lập trình trước đó và bạn
không hoàn toàn mới học lập trình, một số ngôn ngữ sẽ tự động quản lý bộ nhớ cho bạn.
Họ sẽ cấp phát bộ nhớ cho bạn và xóa nó, ngôn ngữ như java làm được điều này.
Nó được gọi là người thu gom rác. Một ngôn ngữ như c không làm được điều này.
Vì vậy, bất cứ khi nào bạn tạo bộ nhớ để sử
dụng con trỏ, bạn phải xóa bộ nhớ đó.
Nhưng con trỏ là gì, nó rất hữu
ích và nó là một biến lưu trữ địa chỉ.
Một địa chỉ, hãy nhớ, là một cái gì đó trong ký ức.
Nó thường là hệ thập lục phân.
Giá trị trong địa chỉ nằm ở vị trí khác trong bộ nhớ.
Con trỏ chỉ trỏ đến một địa chỉ mà địa chỉ đó chứa một giá trị.
Và chúng tôi đã thực sự sử dụng các địa chỉ trong quá khứ với chức năng scanf.
Hãy nhớ rằng, ký hiệu và ký hiệu mà chúng ta đã sử dụng đó là địa chỉ của toán tử.
Hàm Scanf như là tham số thứ hai của
nó sẽ phải nhận một biến mà bạn muốn lưu
trữ dữ liệu, biến đó phải là một con trỏ.
Và do đó, hàm scanf mong đợi một con trỏ.
Để tự tạo một số nguyên, nó không phải là một con trỏ, nhưng nếu
bạn nhận được địa chỉ của nó, nó sẽ trở thành một con trỏ.
Vì vậy, chúng tôi đang sử dụng ký hiệu và để lấy địa chỉ của một kiểu dữ liệu nguyên thủy.
Vì vậy, bạn đã hơi quen thuộc với khái niệm địa chỉ.
Hãy nhớ rằng từ bây giờ với con trỏ,
bạn tạo ra số int và đó không phải
là một con trỏ và nó bằng 25.
Nhưng nếu bạn nhận được ký hiệu và của nó, là địa chỉ của nó, thì bạn có thể gán nó cho một con trỏ.
Một Con trỏ có cú pháp đặc biệt trong c, dấu hoa thị đại diện cho một con trỏ.
Vì vậy, chúng tôi đã khai báo một số biến với giá trị 25 và sau đó
chúng tôi khai báo một con trỏ bằng cách sử dụng dấu hoa thị
có tên pNumber, chứa địa chỉ của số.
Và một lần nữa, dấu hoa thị được sử dụng để khai báo con trỏ, đó là cách
bạn biết nó là một kiểu dữ liệu con trỏ.
Để nhận giá trị của biến số p vì
số p là gì? Nó là một con trỏ nó trỏ đến một địa chỉ trong bộ nhớ.
Nếu bạn chỉ cố gắng nhìn vào giá trị của số p, nó sẽ cung cấp cho bạn địa chỉ.
Nếu bạn muốn nhận được giá trị của địa chỉ đang trỏ đến, bạn phải hủy tham chiếu nó.
Vì vậy, có một cú
pháp đặc biệt mà c sử dụng, nó được gọi là dấu hoa thị và tên của biến, đó là
cách bạn thực sự có thể truy cập vào vị trí bộ nhớ chứa giá trị.
Vì vậy, nếu bạn muốn gán dữ liệu cho vị trí bộ nhớ đó, bạn phải nói số p sao.
Một lần nữa hiệu quả là nó truy cập vào dữ liệu được lưu trữ tại địa chỉ được chỉ định bởi con trỏ.
Vì vậy, sẽ rất khó hiểu khi chúng ta nói về con trỏ bởi vì bạn không quen với khái niệm này.
Bạn nghĩ rằng một biến có một giá trị, đó là nó. Nhưng một biến có thể có một địa chỉ và sau
đó địa chỉ có thể có một giá trị.
Trang trình bày này cố gắng minh họa những gì tôi vừa đề cập.
Tôi tìm thấy điều này trong một cuốn sách mà tôi đã đọc.
Đó là một trang trình bày cho bạn thấy khái niệm về một con trỏ trong bộ nhớ
và cách mọi thứ hoạt động với các địa chỉ.
Vì vậy, tôi muốn nhắc lại những gì tôi vừa đề cập.
Nhưng giá trị của ký hiệu và số là địa chỉ nơi số được đặt.
Vì vậy, nếu bạn có hai biến, number và
p number, p number là con trỏ, number là int,
thì bạn cũng phải chỉ định kiểu của con trỏ.
Mặc dù con trỏ là một
địa chỉ, bạn vẫn chỉ định loại hoặc nơi địa chỉ được trỏ đến.
Vì vậy, số int star p sẽ bằng địa chỉ của số.
Số nằm trong bộ nhớ và nó trỏ đến một
địa chỉ là một nghìn chẳng hạn và nó có giá trị là 25.
Số p có địa chỉ là 105 cho số
p thực tế đó, nhưng giá trị
của địa chỉ đó là 1000 địa chỉ.
Để nhận được giá trị của số p, bạn sẽ phải tham khảo 1000, sẽ
cho bạn 25.
Lý do tôi đề cập đến tất cả những điều này
về con trỏ vì rất nhiều hàm chuỗi sẽ trả về con trỏ.
Nó sẽ không thực sự quan trọng nhiều như vậy.
Nó chỉ quan trọng khi bạn muốn hiểu cách bạn nhận được một ký tự nhất định bên trong một mảng.
Nhưng tôi muốn đề cập ngắn gọn đến chúng.
Sẽ không sao nếu khái niệm này không đi sâu vào lúc này vì chúng ta sẽ đề cập
đến nó rất nhiều chi tiết trong phần sau.
Nhưng hãy hiểu rằng các hàm chuỗi bây giờ mà chúng ta sẽ sử dụng sẽ trả về các con trỏ và
sau đó bạn có thể sử dụng hàm trả về đó để làm điều gì đó hữu ích.
Trước đây, khi chúng ta sử dụng các bản sao str và so sánh str, chúng ta đã truyền
vào con trỏ nhưng nó không bao giờ trả về con trỏ, chúng ta chưa bao giờ phải sử dụng con trỏ đó.
Bây giờ chúng ta phải sử dụng con trỏ, tôi chỉ muốn mô tả một chút về ý nghĩa của nó.
Con trỏ sẽ chỉ đến một địa chỉ.
Và sau đó bạn có thể sử dụng địa chỉ đó để phân tích cú pháp hoặc bất cứ điều gì bạn cần làm.
Vì vậy, hy vọng, điều này không làm bạn choáng ngợp. Một lần nữa, đừng lo lắng nếu bạn không hiểu đầy đủ về nó.
Bây giờ chúng ta sẽ đi qua
một số ví dụ về phân tích, mã hóa và tìm kiếm chuỗi.
Để tìm kiếm một chuỗi, chúng tôi đã đề cập, bạn sẽ sử dụng strchr hoặc strstr.
Strchr tìm kiếm một chuỗi nhất định cho một ký tự.
Đối số đầu tiên của hàm là chuỗi được tìm kiếm,
sẽ là địa chỉ của một mảng ký tự.
Đối số thứ hai là ký tự mà bạn đang tìm kiếm.
Chúng tôi sẽ cung cấp một ví dụ sau một giây. Vì vậy, hàm sẽ tìm kiếm
chuỗi bắt đầu từ đầu và trả về
một con trỏ đến vị trí đầu tiên trong chuỗi nơi ký tự được tìm thấy.
Đây là lý do tại sao con trỏ lại quan trọng bây giờ vì
chúng tôi không trả về toàn bộ giá trị, chúng tôi đang trả về một con trỏ
đến một ký tự bên trong
một chuỗi và địa chỉ đó đại diện cho chỉ mục của một mảng, về cơ bản.
Vì vậy, địa chỉ của vị trí này trong bộ nhớ, đó là một ngôi sao ký tự kiểu và
nó được mô tả như một con trỏ
tới một ký tự, thực sự chỉ là một ký tự duy nhất trong bộ nhớ.
Để lưu trữ giá trị được trả về, bạn phải tạo một biến có thể lưu trữ địa chỉ của một ký tự,
do đó bạn phải tạo một con trỏ.
Nếu ký tự bây giờ được tìm thấy, hàm trả về một giá trị đặc biệt, giá trị này là null.
Null nghĩa là con trỏ không trỏ đến bất cứ thứ gì.
Chúng tôi sử dụng null khi chúng tôi nói về con trỏ, và null chỉ
nói rằng nó không tìm thấy bất cứ điều gì. Vì vậy, nó không chỉ đến bất cứ thứ gì.
Khi nó trỏ đến một thứ gì đó, nó sẽ trỏ đến địa chỉ nơi bạn tìm thấy ký tự đó và sau
đó bạn có thể bắt đầu phân tích cú pháp từ đó.
Bởi vì hãy nhớ từ các bài giảng
trước, khi bạn tạo một mảng ký tự trong bộ nhớ,
bạn chỉ có mỗi ký tự được biểu diễn dưới dạng một byte.
Và nếu bạn đang phân tích cú pháp
một chuỗi và bạn muốn xem vị trí một ký tự cụ thể bắt đầu trong chuỗi đó, bạn
trả về byte đó và sau đó bạn có thể bắt đầu tìm kiếm từ đó.
Vì vậy, str char, cách bạn sử dụng nó là thế này.
Bạn nói rằng bạn tạo một chuỗi ký tự và chúng tôi khởi
tạo nó ở đây với một con cáo nâu nhanh.
Sau đó, chúng tôi tạo một ký tự duy nhất và chúng tôi khởi tạo ký tự đó bằng q.
Sau đó, chúng ta tạo một con trỏ bởi vì chúng ta phải tạo một con trỏ bởi vì đó là những gì được trả về từ str char, đó
là thứ cho phép chúng ta xem chúng ta đã tìm thấy một ký tự ở đâu trong chuỗi đó.
Chúng tôi sẽ khởi tạo con trỏ của chúng tôi thành null. Bởi vì ngay bây giờ nó sẽ không chỉ ra bất cứ điều gì.
Sau đó, chúng ta sẽ gọi str char, chúng ta sẽ chuyển vào chuỗi của chúng ta là con cáo nâu nhanh nhẹn, và chúng ta
sẽ chuyển vào ký tự duy nhất của chúng ta là q.
Điều sắp xảy ra là nó sẽ nhìn vào bên trong con cáo nâu nhanh nhẹn.
Và lần đầu tiên nó tìm thấy một q, nó sẽ trả về địa chỉ của q đó.
Vì vậy, p got char
thực sự sẽ trỏ đến chỉ mục thứ tư của str.
Vì t là con 0, h là con 1, e là con 2,
không gian là con 3, q là con 4.
Vì vậy, p got char sẽ chỉ đến q trong con cáo nâu nhanh chóng.
Và vì vậy bạn có thể thấy chính xác vị trí mà ký tự đó bắt đầu trong chuỗi đó.
Vì vậy, đối số đầu tiên của str char là địa chỉ của vị trí đầu tiên được tìm kiếm,
đó là chuỗi tìm kiếm.
Đối số thứ hai là ký tự được tìm kiếm, ký tự mà bạn muốn tìm, một ký
tự duy nhất.
Nó mong đợi đối số thứ hai là kiểu int.
Vì vậy, về mặt kỹ thuật str char, đối số thứ hai có trong.
Nhưng trình biên dịch c sẽ tự động chuyển đổi biểu đồ thành int.
Về cơ bản, nó sẽ nhận được giá trị ASCII.
Vì vậy, bạn thực sự có thể xác định ký tự đơn
q thay vì một ký tự đơn lẻ, bạn có thể định nghĩa nó là một int.
Đó chỉ là một tính năng kỹ thuật mà tôi muốn bạn biết.
Nhưng p got char sẽ trỏ đến giá trị con cáo nâu nhanh vì nó
sẽ bắt đầu ở q và sau đó nó sẽ chuyển đến dấu chấm dứt null nếu bạn cố gắng in nó ra.
Vì vậy, nó thực sự sẽ trở thành cáo nâu nhanh chóng khi bạn chạy ví dụ này.
Đây là cách bạn có thể tìm kiếm một ký tự trong toàn bộ chuỗi.
Sử dụng str char sau đó sử dụng con trỏ và sau đó hiển thị con trỏ.
Và làm thế nào để bạn hiển thị con trỏ đó? Tương tự như cách bạn hiển thị các ký tự khác, sử dụng printf, phần trăm s.
Vì vậy, đây là một cơ chế tuyệt vời để tìm kiếm các ký tự trong toàn bộ chuỗi.
Nếu bạn muốn tìm kiếm một chuỗi bên trong một chuỗi, đó sẽ là một chuỗi
con, bạn sử dụng strstr.
Đây có lẽ là chức năng hữu ích nhất trong tất cả các chức năng tìm kiếm.
Nó tìm kiếm một chuỗi để biết sự xuất hiện của một chuỗi con.
Và nó trả về một con trỏ đến vị trí trong chuỗi đầu tiên mà chuỗi con được tìm
thấy, rất giống với str char, nhưng nó tìm kiếm toàn bộ chuỗi. Nếu nó không tìm thấy bất kỳ kết quả phù hợp nào, nó sẽ trả về null.
Đối số đầu tiên là chuỗi sẽ được tìm kiếm giống như str char.
Thứ hai là chuỗi con bạn đang tìm, một chuỗi khác. Vì vậy, đây là một ví dụ.
Nó trông rất giống với cái kia ngoại trừ thay vì tìm kiếm một ký
tự duy nhất, chúng tôi đang tìm kiếm một từ, một chuỗi.
Vì vậy, chúng ta có từ, đó là bằng con chó.
Và chúng tôi có văn bản là mọi con chó đều có ngày của mình.
Chúng tôi tạo lại con trỏ bởi vì nó phải như vậy - đây là những gì hàm trả về.
Khi chúng ta gọi strstr, chúng ta truyền vào văn bản chuỗi mà chúng ta muốn xem xét.
Và sau đó đối số thứ hai là từ mà chúng ta muốn xem xét bên trong chuỗi đó.
Vì vậy, nó sẽ tìm kiếm văn bản xuất hiện đầu tiên của chuỗi được lưu trữ trong word.
Con chó chuỗi xuất hiện ở ký tự thứ bảy trong văn bản.
Nếu bạn nhìn vào văn bản.
Văn bản phụ 6 sẽ bằng con chó, đó là nơi bắt đầu.
Vì vậy, con trỏ sẽ trỏ đến địa chỉ của văn bản cộng với 6 dog, và nó sẽ
bắt đầu ở đó, và sau đó nó sẽ đi đến dấu chấm dứt rỗng.
Vì vậy, p tìm thấy sẽ là con chó có ngày của mình.
Và cũng hãy cẩn thận vì tìm kiếm có phân biệt chữ hoa chữ thường.
Nếu bạn thực sự cung cấp một chữ viết hoa D-O-G, bạn sẽ không tìm thấy gì
cả, nó sẽ chỉ tìm kiếm trường hợp chính xác.
Nhưng điều này được sử dụng để tìm các chuỗi con và chuỗi, rất
hữu ích vì rất nhiều lần trong một chương trình bạn sẽ nói có chuỗi này bên
trong chuỗi này vì nó gần giống như một grep nếu bạn đã từng sử dụng grep trên Linux.
Tôi hy vọng điều này có ý nghĩa. Mã hóa một chuỗi.
Mã thông báo là một chuỗi các ký tự mà một trong số chúng là chuỗi được ràng buộc bởi dấu phân cách, chúng ta biết điều này.
Dấu phân tách có thể là bất kỳ thứ gì, nhưng nó phải là một cái gì đó duy nhất cho chuỗi đó.
Không có dấu phân tách là "A" bởi vì bây giờ nó sẽ tìm thấy trong chuỗi đó
một cái gì đó hợp lệ trong một từ.
Hãy biến nó thành một thứ gì đó độc đáo như dấu cách hoặc dấu phẩy. Điều này, một lần nữa, được sử dụng làm ranh
giới cho các từ thường trong một chuỗi đơn.
Vì vậy, nó chia một câu thành các từ, nó được gọi là mã hóa.
Hàm strtok này được sử dụng để mã hóa một chuỗi.
Nó yêu cầu hai đối số.
Chuỗi được mã hóa, là toàn bộ chuỗi có khoảng trắng và có dấu phân cách.
Và sau đó là chuỗi chứa tất cả các ký tự giới hạn dương.
Bạn có thể chỉ định những gì bạn muốn đặt làm ranh giới.
Vì vậy, đây là một ví dụ.
Chúng tôi đang tạo một mảng ký tự 80.
Nó nói xin chào, bạn có khỏe không, bạn đang lướt qua tên tôi là gạch ngang Jason.
Sau đó, chúng tôi tạo một chuỗi không đổi đại diện cho dấu phân cách,
đó là dấu trừ, dấu gạch ngang. Nó trông hơi khác một chút, nhưng nó vẫn là điểm trừ, dấu gạch ngang, cả
hai đều là dấu gạch ngang.
Và sau đó chúng tôi tạo con trỏ của chúng tôi là mã thông báo.
Bởi vì strtok sẽ trả lại từng
mã thông báo của chúng ta.
Vì vậy, nếu chúng ta gọi strtok của mình và chúng ta chuyển
vào chuỗi và chúng ta chuyển vào các dấu phân
cách, mã thông báo sẽ bằng với thứ đầu tiên mà nó tìm thấy.
Vì vậy, lần đầu tiên bạn gọi strtok, nó sẽ giống như xin chào bạn có khỏe
không và sau đó nó sẽ tìm thấy sự phù hợp với dấu gạch ngang.
Và nếu bạn gọi lần
thứ hai, nó sẽ in ra tên tôi là.
Nếu bạn gọi nó lần thứ ba, nó
sẽ in ra Jason vì nó đang đi qua những dấu gạch ngang.
Vì vậy, đó là lý do tại sao chúng ta có một vòng lặp while ở đây. Chúng tôi nói trong khi mã thông báo không bằng null,
hãy in mã thông báo ra.
Và sau đó chúng tôi nhận được mã thông báo tiếp theo bằng cách gọi strtok.
Và chúng tôi nói null làm tham số đầu tiên và s là
tham số thứ hai và sau đó chúng
tôi, chúng tôi hiển thị. Vì vậy, hãy xem xét điều
này trong các khối mã vì nó sẽ làm cho nó dễ hiểu hơn.
Vì vậy, chúng ta hãy xây dựng cái này. Chúng tôi chỉ đi qua ví dụ này.
Tôi muốn cho bạn thấy đầu ra là gì, vì vậy hãy rõ ràng những gì đang xảy ra ở đây.
Vì vậy, ở đây bạn sẽ thấy nó nói rằng nó in ra
mã thông báo đầu tiên là xin chào, bạn có khỏe không.
Điều đầu tiên nó làm là nó tìm thấy
mã thông báo đầu tiên, in nó ra, xin chào bạn khỏe không, tên tôi là và sau đó là Jason.
Vì vậy, bây giờ chúng tôi xin chào bạn khỏe không,
tìm dấu gạch ngang đầu tiên, in nó ra. Tên tôi là tìm mã thông báo tiếp theo sau
đó là mã thứ ba là Jason. Nhưng bạn phải gọi mã thông báo
ba lần để nhận được mỗi mã thông báo.
Cái đầu tiên sẽ mã hóa trên str.
Xem mã tiếp theo mà bạn có thể chuyển bằng giá trị rỗng vì bạn không muốn xem lại, bạn chỉ muốn lấy mã thông báo tiếp theo.
Và do đó bạn vượt qua một null cái thứ hai và bạn chỉ cần vượt qua một s.
Nó sẽ cung cấp cho bạn mã thông báo tiếp theo của str đã tok.
Vì vậy, đó là cách bạn có thể sử dụng strtok. Nó giúp ích rất nhiều cho việc phân tích cú pháp.
Bạn có thể phân tích cú pháp một cái gì đó và đưa ra những ranh giới nhất định.
Các hàm cuối cùng mà tôi muốn nói đến là các hàm phân tích chuỗi này.
Có rất nhiều người trong số họ, vì vậy tôi chỉ cung cấp một cái bàn nhỏ ở đây.
Là thấp hơn, là trên. Nó làm chính xác những gì bạn nghĩ rằng nó sẽ làm.
Nó kiểm tra xem một ký tự là chữ thường hay chữ hoa.
Chúng tôi đang thử nghiệm các ký tự nhất định, nhưng chúng được sử dụng bên trong chuỗi.
Và do đó, đối số của mỗi hàm này là ký tự mà bạn muốn tìm kiếm.
Và sau đó tất cả các hàm này trả về giá trị khác
0 của kiểu int nếu ký tự nằm trong tập hợp đang được kiểm tra.
Vì vậy, chúng ta sẽ chuyển các ký tự int vào bên trong để tìm kiếm các từ bên trong.
Nếu chúng ta có một chữ cái viết hoa bên trong một từ, nó sẽ cho chúng ta biết và chúng ta
cũng có thể sử dụng nó để phân tích cú pháp các phần tử riêng lẻ theo cách ký tự.
Vì vậy, các giá trị trả về sẽ chuyển đổi thành true hoặc false, do đó
bạn cũng có thể sử dụng chúng dưới dạng Boolean, điều này thật tuyệt.
So is low sẽ trả về true
nếu một từ hoặc ký tự có chữ thường.
Chà, đây là một ví dụ hay
mà tôi muốn xem qua, sẽ đếm số chữ số trong toàn bộ một chuỗi.
Vì vậy, hãy chạy điều này vì điều này sẽ rõ ràng,
nhưng những gì bạn nên chú ý là chúng tôi đang tạo một bộ
đệm, bộ đệm đầu vào của chúng tôi và sau đó chúng tôi đang tạo ba số nguyên để đếm.
Chúng tôi yêu cầu người dùng nhập một chuỗi ít
hơn quá nhiều ký tự, sau đó chúng tôi đọc nó trong đó.
Sau đó, chúng tôi sẽ xem xét chuỗi đó để xem liệu nó
có chứa các ký tự nhất định hay không.
Và vì vậy chúng ta sẽ lặp lại chuỗi đó
bằng cách xem xét từng chỉ mục trong mảng.
Vì vậy, đây là ví dụ của chúng tôi.
Một lần nữa, bộ đệm là mảng ký tự của chúng
ta sẽ lưu trữ các đầu vào. Chúng tôi sẽ sử dụng scanf để điền điều đó.
Chúng ta phải nhập chuỗi không có khoảng trắng, nó là một chuỗi đơn.
Chúng ta sẽ chạy qua nó, đi qua từng phần tử trong bộ đệm và sau đó
gọi hàm is alpha, is digit hoặc là dấu câu để xem liệu những ký
tự đó có ở đó hay không và sau
đó nó sẽ tăng lên dựa trên đó có hay không. trả về true hoặc false và sau đó nó
sẽ hiển thị bao nhiêu chữ cái, chữ số và ký tự dấu câu bên trong chuỗi đó.
Hãy chạy cái này.
Tôi sẽ nhập một cái gì đó với một loạt các chữ hoa, có
thể là một số chữ số.
Sau đó, khi tôi nhấn trở lại, nó sẽ tính tất cả mọi thứ. Vì vậy, nó
nói rằng chỉ đạo của tôi chứa 24 chữ cái, 4 chữ số và
1 ký tự dấu câu, dấu hai chấm.
Chương trình nhỏ gọn gàng đẹp mắt sử dụng các hàm ký
tự đó nhưng hữu ích với um phân tích một chuỗi vì đó là
những gì bạn đang làm, bạn đang phân tích chuỗi, nhưng bạn
chỉ đang xem xét từng ký tự. Cảm ơn bạn.