Computer >> Máy Tính >  >> Lập trình >> C ++

Chuỗi at () trong C ++

Tóm tắt

Hướng dẫn ngắn này là tổng quan về lớp Chuỗi C ++ at () chức năng để truy cập một chuỗi ký tự từ chuỗi. Trong phần sắp tới, một độc giả có tham vọng có thể thông qua các ví dụ lập trình lớp chuỗi để hiểu rõ hơn về thao tác của at () các chức năng.

Lớp chuỗi

Trong thuật ngữ lập trình, các chuỗi là điển hình, một biểu diễn dấu ngoặc kép, chứa một tập hợp các ký tự. Lớp string cũng là một lớp vùng chứa, để lặp lại trên tất cả các ký tự của nó bằng cách sử dụng toán tử vòng lặp []. Bên cạnh đó, lớp String xử lý tất cả các hoạt động liên quan đến bộ nhớ và kết thúc null. Bất kỳ ai cũng có thể thực hiện nhiều thao tác liên quan đến chuỗi bao gồm so sánh, sao chép, nối, tìm kiếm, sắp xếp và nhiều thao tác khác bằng cách khai thác hàm cơ bản của nó, trong đó một trong những phương thức quan trọng tại () được sử dụng để trích xuất các ký tự từ một vị trí cụ thể của chuỗi.

Phương thức String.at ()

at () phương thức của lớp String được thiết kế để truy cập một ký tự cụ thể nằm trong một chuỗi. Nó tự động đánh giá xem pos là vị trí hợp lệ của một ký tự trong chuỗi đã cho, nếu không, nó sẽ ném ra ngoại lệ “out_of_range”. Cách sử dụng cú pháp như sau;

Cú pháp

char& at (size_type id);
const char& at (size_t pos) const;

Cấu trúc chương trình C ++ sau đây cho thấy cách sử dụng lớp String at () phương thức trong đó trước tiên chương trình xác định độ dài của chuỗi đầu vào, sau đó là at () phương thức truy xuất các ký tự cụ thể từ một vị trí nhất định trong chuỗi là;

Ví dụ

#include <iostream>
using namespace std;
void retrieveChar(string str){
   char chr;
   // Calculating the length of string
   int len = str.length();
   // retrieving characters
   for (int i = 0; i < len; i++) {
      chr = str.at(i);
      cout << chr << " ";
   }
}
int main(){
   retrieveChar("ajaykumar");
   return 0;
}

Như đã thấy trong đoạn mã trên, tất cả mã hoạt động của chuỗi được gói vào trong accessChar () , sau này, lệnh gọi nào được chuyển cho việc thực thi chương trình main (). Sau khi biên dịch thành công tệp example.CPP, nó tạo ra kết quả đầu ra sau đây trong đó các ký tự từ chuỗi đầu vào ann đang được truy cập tuần tự nhờ phương thức lớp String at () với tư cách là;

a j a y k u m a r

Lưu ý bảo mật

Các chuỗi đầu vào từ nhiều nguồn khác nhau là mối quan tâm đặc biệt đối với chuyên gia bảo mật vì nó ngang nhiên cung cấp một phương tiện để thay đổi hành vi và đầu ra mặc định của chương trình bằng cách sử dụng đầu ra độc hại bên ngoài và thao tác hack mũ đen đặc biệt. Tin tặc thường khai thác các điểm yếu trong lỗ hổng biểu diễn chuỗi và gây ra thiệt hại nghiêm trọng cho chương trình. Vì vậy, chúng tôi khuyên bạn nên đảm bảo các biện pháp và hướng dẫn có liên quan đến chuỗi phù hợp trong chương trình để ngăn chặn bất kỳ mối đe dọa nào.

Kết luận

Vì vậy, chúng ta đã tìm hiểu sâu về lớp chuỗi và phương thức cốt lõi của nó at () cùng với cú pháp sử dụng của nó trong tài khoản truy cập các ký tự từ một chuỗi theo cách tuần tự trong đoạn mã nói trên. Cuối cùng, chúng tôi nhận thấy lỗ hổng liên quan đến chuỗi và biểu diễn yếu kém, thường dẫn đến việc khai thác như tràn bộ đệm, tập lệnh trang web chéo, chuỗi định dạng, chuẩn hóa và nhiều lỗi đáng chú ý khác.