Ký tự đặc biệt (\t) trong C++

Ky Tu Dac Biet T Trong C



Trong C++, các chuỗi thoát cung cấp một cách kết hợp các ký tự đặc biệt trong một chuỗi không thể gõ trực tiếp do một số xung đột cú pháp. Ví dụ: hãy xem xét cách bạn có thể biểu thị một tab ngang trong một chuỗi. Đây là lúc trình tự thoát “\t” phát huy tác dụng, chèn một tab ngang vào kiểu nhập văn bản. Chuỗi thoát “\t” thêm một tab ngang vào chuỗi, cung cấp một cách thuận tiện để chèn khoảng cách nhất quán. Nó đặc biệt hữu ích để định dạng đầu ra trong các ứng dụng bảng điều khiển hoặc căn chỉnh văn bản. Trong hướng dẫn này, chúng ta sẽ khám phá chức năng của chuỗi thoát “\t” trong C++ bằng các ví dụ đơn giản, dễ hiểu và hữu ích để giúp việc triển khai chuỗi này trở nên rõ ràng và dễ hiểu.

Hiểu trình tự thoát

Chuỗi thoát trong C++ cho phép các ký tự thực hiện chức năng điều khiển trong chuỗi trở thành một phần của văn bản mà không bị nhầm lẫn là mã. Một cạm bẫy phổ biến đối với người mới bắt đầu là sự nhầm lẫn khi đưa dấu ngoặc kép vào trong một chuỗi ký tự. Ví dụ: dòng mã sau sẽ gây ra lỗi biên dịch do các dấu ngoặc kép xung quanh “\t escape Sequence” chấm dứt chuỗi sớm:

chuỗi văn bản = 'Bài viết này nói về việc khám phá “ \t chuỗi thoát” với sự trợ giúp của các ví dụ.” ;

Để sửa lỗi này trong chương trình C++, chúng ta sẽ sử dụng dấu gạch chéo ngược “\” làm ký tự thoát để báo hiệu cho trình biên dịch rằng ký tự sau có cách hiểu đặc biệt. Đây là cách nó được thực hiện:







chuỗi văn bản = 'Bài viết này nói về việc khám phá\“ \\ t thoát chuỗi\” với sự trợ giúp của các ví dụ.' ;

Đi sâu vào ký tự đặc biệt (\t) trong C++

Chuỗi “\t” không chỉ là một công cụ tạo khoảng cách. Nó đại diện cho một ký tự tab khiến con trỏ chuyển sang điểm dừng tab tiếp theo. Điều này đặc biệt hữu ích để tạo các màn hình văn bản được định dạng gọn gàng trong các ứng dụng đầu cuối. Ngoài “\t”, C++ còn hỗ trợ nhiều chuỗi thoát khác nhau cho các mục đích khác nhau—ví dụ: “\n” tạo một dòng mới. Tuy nhiên, trong bài viết này, chúng tôi sẽ chỉ tập trung vào chuỗi thoát “\t” trong C++ bằng cách cung cấp các ví dụ để minh họa mục đích và cách sử dụng của nó. Điều này sẽ cung cấp cho bạn kiến ​​thức để sử dụng tab ngang trong các tác vụ lập trình của bạn một cách hiệu quả. Chúng ta hãy chuyển sang các ví dụ để hiểu cách hoạt động của chuỗi thoát “\t” trong chương trình C++.



Ví dụ 1:

Ví dụ về mã C++ sau đây bao gồm một chương trình đơn giản được sử dụng để in văn bản ra bàn điều khiển. Hãy tham khảo đoạn mã sau và chúng tôi sẽ giải thích nó sau:



#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

cout << 'Đây là dòng văn bản đầu tiên.' << kết thúc ;

cout << 'Đây là dòng văn bản thứ hai. \t ' ;

cout << 'Dòng này được theo sau bởi một \\ trình tự thoát khỏi.' ;

trở lại 0 ;

}

Dưới đây là chi tiết về từng phần của mã:





#include Dòng này thêm thư viện iostream vào chương trình cần thiết cho chức năng đầu vào và đầu ra. Tệp tiêu đề chứa các định nghĩa cho các đối tượng như cin, cout, v.v.

sử dụng không gian tên std; – Mã này cho phép bạn sử dụng các tên có trong thư viện chuẩn mà không cần thêm tiền tố “std::”. Ví dụ: bạn có thể viết “cout” thay vì “std::cout”.



int chính() { – Đây là phần khai báo và điểm vào của hàm main cho mọi chương trình C++. “int” trước “main” thường chỉ ra rằng hàm trả về một giá trị nguyên.

cout << “Đây là dòng đầu tiên của văn bản.”< Dòng này in chuỗi “Đây là dòng văn bản đầu tiên” ra bảng điều khiển. “<<” là toán tử chèn. Để chèn một dòng mới, ký tự “endl” được sử dụng.

cout << “Đây là dòng văn bản thứ hai.\t”; – Ở đây, chương trình xuất ra một chuỗi khác là “Đây là dòng văn bản thứ hai.\t”. Hãy chú ý đến “\t” ở cuối. Khi được in ra bảng điều khiển, nó sẽ thêm một khoảng trống tab ngang ngay sau văn bản.

cout << “Theo sau dòng này là một chuỗi thoát \\t.”; – Trong dòng này, chương trình in ra “Dòng này được theo sau bởi một chuỗi thoát \t.”. Chuỗi thoát “\\t” được sử dụng để bao gồm “\t” trong đầu ra theo nghĩa đen vì dấu gạch chéo ngược “\” được thoát bằng một dấu gạch chéo ngược khác sao cho chính “\t” được in thay vì tab ngang.

trả về 0; – Điều này đánh dấu sự kết thúc của hàm chính và trả về 0, biểu thị việc thực hiện chương trình thành công. Khi chương trình này chạy, kết quả đầu ra trông như thế này:

Ví dụ 2:

Bây giờ, chúng ta hãy xem một ví dụ khác và thấy sự kỳ diệu của ký tự thoát “\t”. Ví dụ này là một chương trình C++ đơn giản bao gồm thư viện luồng đầu vào-đầu ra tiêu chuẩn và sử dụng không gian tên tiêu chuẩn. Chương trình được thiết kế để in một bảng tên đã được định dạng cũng như thành phố và quốc gia liên quan của chúng ra bảng điều khiển.

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

cout << 'Tên \t | \t Thành phố \t | \t Quốc gia' << kết thúc ;

cout << '------------------------------------------' << kết thúc ;

cout << 'Alice \t | \t Bắc Kinh \t | \t Trung Quốc' << kết thúc ;

cout << 'Bob \t | \t Austin \t | \t nước Mỹ' << kết thúc ;

cout << 'Cathe \t | \t Paris \t | \t Pháp' << kết thúc ;

cout << 'David \t | \t Durban \t | \t Nam Phi' << kết thúc ;

cout << '------------------------------------------' << kết thúc ;

trở lại 0 ;

}

Đây là bản phân tích mã:

Lại, #include bao gồm thư viện iostream để thực hiện các thao tác đầu vào/đầu ra trong C++.

sử dụng không gian tên std; – Nó cho phép sử dụng các thực thể từ không gian tên “std” mà không cần thêm tiền tố “std::” vào chúng.

Các int chính() { là điểm vào của mọi chương trình C++. Khi bạn chạy chương trình, quá trình thực thi sẽ bắt đầu từ đây.

Trong hàm main, chúng ta có:

cout << “Tên\t|\tThành phố\t|\tQuốc gia”< Dòng này in các tiêu đề của bảng có ký tự tab “\t” để căn chỉnh. Cout được sử dụng cho đầu ra của bảng điều khiển, “\t” chèn một tab ngang giữa các văn bản và “endl” được sử dụng để chèn một dòng mới ở cuối.

cout << “———————————————-“< Dòng này in một dấu phân cách trực quan, một dòng gạch ngang, để biểu thị phần cuối của tiêu đề và tách tiêu đề khỏi dữ liệu.

Bốn dòng cout tiếp theo, mỗi dòng in một hàng của bảng. Những dòng này có cùng định dạng với các tab và là một phần của việc tạo đầu ra bảng. Sau mỗi dòng dữ liệu, “endl” được sử dụng để chuyển sang dòng tiếp theo. Dòng cout cuối cùng lại in ra dòng phân cách để cho biết phần cuối của dữ liệu trong bảng.

trả về 0;: – Dòng này cho biết việc thực hiện thành công chương trình. Giá trị trả về bằng 0 biểu thị thành công.

Khi chương trình này được biên dịch và chạy, đầu ra sẽ xuất hiện dưới dạng bảng trên bảng điều khiển với tên, thành phố và quốc gia của từng cá nhân được căn chỉnh gọn gàng trong các cột được phân tách bằng thanh dọc (|) và tab. Xem đầu ra sau:

Ghi chú: Hãy nhớ rằng căn chỉnh thực tế của văn bản trong bảng điều khiển phụ thuộc vào độ rộng của cài đặt tab trong bảng điều khiển hoặc thiết bị đầu cuối của bạn, điều này có thể dẫn đến giao diện bảng khác nhau trên các hệ thống khác nhau.

Ví dụ 3:

Chương trình C++ đơn giản nhưng thú vị này sử dụng chuỗi thoát tab “\t” để in hình kim cương trên màn hình. Mã này chia tỷ lệ kích thước hình kim cương dựa trên biến 'kim cương' chỉ định kích thước và biểu thị số đường từ tâm hình kim cương đến đỉnh hoặc đáy của nó. Kiểm tra mã đã cho sau:

#include
sử dụng không gian tên std ;
int chủ yếu ( ) {
int kim cương = 3 ;
( int Tôi = 1 ; Tôi <= kim cương ; ++ Tôi ) {
( int j = 0 ; j < kim cương - Tôi ; ++ j ) {
cout << ' \t ' ;
}
( int j = 0 ; j < 2 * Tôi - 1 ; ++ j ) {
cout << '* \t ' ; }
cout << kết thúc ;
}
( int Tôi = kim cương - 1 ; Tôi >= 1 ; -- Tôi ) {
( int j = 0 ; j < kim cương - Tôi ; ++ j ) {
cout << ' \t ' ;
}
( int j = 0 ; j < 2 * Tôi - 1 ; ++ j ) {
cout << '* \t ' ; }
cout << kết thúc ;
}
trở lại 0 ;
}

Như bạn có thể thấy, chương trình này bao gồm hai phần: một phần in nửa trên của viên kim cương và phần còn lại in nửa dưới. Nửa trên của hình thoi được in bằng cách đầu tiên xuất ra số lượng tab giảm dần để tạo thụt lề, tiếp theo là số lượng dấu hoa thị “*” tăng dần, cách nhau bằng các tab. Việc này được xử lý trong vòng lặp “for” đầu tiên.

Nửa dưới được in tương tự, nhưng với các vòng lặp ngược lại để giảm số lượng dấu hoa thị và tăng mức thụt lề trở lại, tạo ra nửa dưới của hình thoi. Việc này được xử lý trong vòng lặp “for” thứ hai.

Khi chạy chương trình với “diamond= 3”, đầu ra trông giống như một viên kim cương nằm ở giữa màn hình do các ký tự tab. Xem đầu ra của chương trình cụ thể này:

  Một nhóm các ngôi sao nhỏ màu đen và xanh lam Mô tả được tạo tự động

Xin lưu ý rằng giao diện thực tế có thể khác nhau tùy thuộc vào bảng điều khiển hoặc thiết bị đầu cuối mà bạn sử dụng vì độ rộng của tab có thể khác nhau.

Phần kết luận

Chuỗi thoát trong C++ là một công cụ mạnh mẽ để biểu diễn các ký tự không thể hiển thị dễ dàng trong cửa sổ đầu ra tiêu chuẩn. Trong số các trình tự này, tab ngang, được biểu thị bằng “\t”, đặc biệt hữu ích để thêm các khoảng trắng được kiểm soát trong văn bản. Bằng cách sử dụng “\t”, các lập trình viên có thể căn chỉnh đầu ra văn bản của họ, nâng cao khả năng đọc và cấu trúc dữ liệu một cách có hệ thống. Ký tự này bắt chước việc nhấn phím “tab” trên bàn phím, đưa con trỏ đến vị trí tab tiếp theo. Trong bài viết này, chúng ta đã khám phá chức năng của chuỗi thoát “\t” trong ngôn ngữ C++, nêu bật ứng dụng của nó bằng các ví dụ đơn giản và thực tế để minh họa hành vi của nó.