Xin chào và chào mừng. Trong bài giảng này, tôi muốn nói về chuyển đổi
chuỗi, một số hàm chuỗi khác.
Đặc biệt, nó rất phổ biến để chuyển đổi chữ hoa và chữ thường.
Nếu bạn muốn đặt chuỗi của mình thành tất cả các ký
tự viết hoa, may mắn thay, có hai
hàm trên chuyển đổi từ chữ thường
sang chữ hoa và hai hàm dưới chuyển đổi từ
chữ hoa sang chữ thường. Vì vậy, chữ thường thành trên, trên xuống dưới.
Cả hai hàm đều trả về ký tự đã chuyển đổi hoặc ký
tự giống nhau đối với các ký tự đã ở trong trường hợp chính xác hoặc
không thể chuyển đổi, chẳng hạn như ký tự dấu câu nếu bạn không thể chuyển đổi chúng.
Vì vậy, đây là cách bạn có thể chuyển đổi một chuỗi thành chữ hoa.
Hãy nhớ rằng, chúng thực sự được sử dụng trên
cơ sở từng ký tự.
Vì vậy, nếu bạn có một bộ đệm là một mảng ký tự,
bạn sẽ phải đi qua từng phần tử trong bộ đệm và sau
đó thực hiện hai bước trên trên ký tự đó.
Vì vậy, ở đây chúng ta
sẽ xem xét từng phần tử trong mảng ký tự đệm của chúng
ta và chúng ta chuyển nó cho hai phương thức trên.
Và điều đó sẽ trả về một ký tự, đó là một chữ hoa và chúng tôi sẽ gán nó cho những người được nâng cấp của chúng tôi trước.
Chúng tôi sẽ làm điều đó cho đến khi chúng
tôi nhấn vào ký tự null. Vì vậy, đây là một câu lệnh bốn chỉ có một dòng.
Điều này chuyển đổi toàn bộ chuỗi thành
chữ hoa tỷ lệ bộ đệm bằng cách lướt qua chuỗi một ký tự tại một thời điểm.
Vòng lặp dừng lại khi nó đạt đến ký tự kết thúc chuỗi, dấu gạch chéo ngược bằng không.
Việc ép kiểu char có ở đó bởi vì hai giá trị trả về trên của kiểu int,
là giá trị ASCII và nó chỉ chuyển đổi nó.
Và bạn sẽ làm điều tương tự nếu bạn muốn chuyển nó thành chữ thường, rất
đơn giản để sử dụng các hàm chuyển đổi chữ hoa / thường.
Vì vậy, bạn có thể sử dụng hàm hai upper kết hợp với hàm strstr để tìm hiểu
xem một chuỗi có xảy ra trong chuỗi khác bỏ qua trường hợp hay không.
Vì vậy, hãy xem ví dụ này thực hiện chính xác điều đó.
Ở đây chúng ta có hai mảng ký tự, văn bản và chuỗi con.
Văn bản có kích thước hàng trăm, chuỗi con có kích thước bốn mươi.
Chúng tôi yêu cầu người dùng nhập một chuỗi cần tìm kiếm, ít hơn một trăm ký tự.
Chúng tôi nhận được điều đó, chúng tôi lưu trữ nó trong văn bản.
Và sau đó chúng tôi nhập chuỗi mà họ muốn tìm bằng cách sử
dụng strstr, sau đó là chuỗi con, vì vậy họ nhập một số chuỗi con khác.
Sau đó chúng tôi in chuỗi đầu tiên và sau đó chúng tôi in chuỗi thứ hai.
Sau đó, chúng tôi chuyển đổi cả hai chuỗi thành chữ hoa.
Và sau đó chúng ta thực sự có thể nói chuỗi thứ hai đã tìm thấy chuỗi đầu tiên.
Vì vậy, khi chúng ta gọi strstr, nó
có thể bỏ qua trường hợp. Bởi vì hãy nhớ rằng, một trong những hạn chế của strstr
là nó phân biệt chữ hoa chữ thường.
Và vì vậy bây giờ chúng ta có thể sử dụng strstr
trên văn bản và chuỗi con vì chúng đều là các ký tự viết hoa.
Và một lần nữa, đây là một cách để tìm
xem một chuỗi con có nằm trong một chuỗi toàn bộ bỏ qua chữ hoa hay không.
Đầu tiên, chúng tôi chỉ chuyển đổi mọi thứ thành chữ hoa và bây giờ chúng tôi đang so sánh chữ hoa, và
đó là những gì chương trình này thực hiện.
Thường thì bạn sẽ muốn chuyển đổi chuỗi thành số.
Vì vậy, có các chức năng cụ thể bắt đầu bằng dấu a.
Chúng giống như atof, atoi, atol và atoll.
Atoi rất phổ biến, chuyển đổi một chuỗi thành một int.
Vì vậy, atof sẽ chuyển đổi một chuỗi, và
nó giống như ASCII, ASCIItof. Nó sẽ chuyển đổi một chuỗi thành một kiểu dữ liệu.
Vì vậy, một atof là một ASCII cho một float hoặc gấp đôi cho một float.
Và bạn có thể có một số giá trị trả về nhất định. Nếu nó không được tìm thấy hoặc không thể làm được.
Vì vậy, đôi khi bạn không thể chuyển đổi chuỗi thành số nguyên, đặc biệt nếu bạn có một chuỗi chỉ có các từ.
Thông thường, bạn sử dụng chức năng này khi bạn có trong ví dụ.
Nếu bạn có một chuỗi ký tự có 98. 4, có thể được biểu diễn dưới dạng kép.
Vì vậy, bạn có thể làm một chút về nó. Nếu bạn có một chuỗi ký tự của
Jason, bạn không thể chuyển đổi chuỗi đó thành một
số nguyên, vì vậy sẽ không có gì xảy ra. Vì vậy, khi bạn có các chuỗi ký
tự có số, bạn có thể chuyển đổi chúng bằng các hàm ASCIIto này.
Và tất cả điều này được bao gồm trong tệp tiêu đề lib tiêu chuẩn.
Bạn cũng sẽ thấy điều ngược
lại khi tạo số nguyên thành chuỗi, bạn sẽ thấy những thứ như itoa, là int cho ASCII.
Nếu bạn có một số 98 và bạn muốn chuyển nó thành chuỗi, bạn sẽ nói itoa.
Ngoài ra còn có một số chức năng mới hơn.
Những cái này đặc biệt dành cho chuỗi để
tăng gấp đôi so với atof.
Bạn có thể sử
dụng các strtod hoặc strtof hoặc stringtold.
Và mỗi cái chỉ chuyển đổi thành phao đôi dài hoặc phao đôi nổi.
Nhưng một trong hai người đều ổn. Những cái ASCII là những cái truyền thống.
Tôi nghĩ rằng các strtod và strtofs khác đã được thêm vào trong các tiêu chuẩn sau này của c.
Vì vậy, đây là một ví dụ về thực hiện một số chuyển đổi.
Nó rất, rất cơ bản. Ở đây chúng ta có một mảng ký
tự str, 3. 5 dấu cách 2. 5 dấu cách 1. 26.
Chúng tôi có một vài gợi ý. Và chúng tôi sẽ vượt qua
cho đến khi chúng tôi nhảy ra ngoài là nếu chúng tôi không thể chuyển đổi nó.
Vì vậy, chúng tôi nói strtod. Chúng tôi chuyển địa chỉ ptr
của chúng tôi, con trỏ của chúng tôi và chúng tôi chuyển vào chuỗi
p của chúng tôi, đó là chuỗi của chúng
tôi, 3. 5 2. 5.
Bây giờ bạn có thể nói tại sao bạn lại truyền p str thay vì chỉ str và
bạn không cần phải làm như vậy. Nhưng ở đây chúng tôi muốn thực sự kiểm tra
xem không có chuyển đổi nào.
Vì vậy, bởi vì chúng tôi đang kiểm tra không có chuyển đổi nào, chúng tôi phải xem xét cả hai con trỏ.
Bạn không thể so sánh ptr với str vì str là một mảng.
Vì vậy, chúng ta sẽ sử dụng đoạn pstr để chỉ đại diện cho mảng ký tự của chúng ta để chúng ta có thể so sánh.
Và nếu chúng ta so sánh
hai cái đó, điều đó có nghĩa là pstr được lưu trữ không có chuyển đổi,
và như vậy chúng ta đã hoàn tất. Chúng tôi thực sự không thể chuyển đổi giá trị đó.
Nếu không, nếu chúng tôi có thể chuyển đổi giá trị, chúng tôi sẽ in nó ra và
sau đó chúng tôi sẽ thực hiện chuyển đổi tiếp theo. Pstar sẽ bằng với con trỏ.
Vì vậy, bạn có thể chạy điều này và bạn có thể thấy rằng
nó sẽ kết thúc việc chuyển đổi mọi thứ trong mảng chuỗi thành các giá trị cụ
thể nhân đôi, giá trị nhân đôi.
Tôi thường sử dụng atoi, atof, nhưng một trong hai
cách này sẽ hoạt động.
Đây là các chức năng chuyển đổi. Cảm ơn bạn.