Ký tự tab \t trong C++

Sau tìm hiểu thì em biết là \t = 8 dấu cách.

Nhưng mà có bác nào biết tại sao cái dòng thứ 2 thì cái tab thứ 2 chứa có 7 dấu cách còn dòng thứ 3 thì tab lại chỉ chứa có 6 dấu cách không ạ?

Không biết bạn có từng sử dụng Microsoft Word chưa. Thực tình kí tự tab đưa con trỏ tới 1 vị trí thẳng với 1 vị trí trong ruler.

Trong trường hợp này, nếu 1 tab = 8 space thì khi bạn ấn tab lần đầu tiên, con trỏ sẽ nhảy đến vị trí thứ 8 của dòng, lần tiếp theo sẽ nhảy đến vị trí thứ 16 của dòng,… Dù dòng của bạn có bao nhiêu kí tự, khi bạn ấn tab/in ra tab, con trỏ sẽ chạy đến vị trí “vạch” của nó chứ không phải in ra 8 space.

6 Likes

uii thì ra là thế ạ :)) hehe cảm ơn bạn

Mình nói vậy đúng không @noname00
Nếu 1 tab = 8 digits thì, tab dùng để lấp đủ 8 digits trong ruler hiện tại. (Trong sakura 1 tab = 4 digits)

2 Likes

Đúng rồi :thumbsup::thumbsup:

Tìm hiểu phiến diện dẫn đến kết quả sai lầm :joy:
Ký tự ’ ’ (tab) chẳng liên quan gì đến dấu ’ ’ (space) nhé, tab sẽ đưa con trỏ đến các mốc cố định đã đặt trước.
Bạn thử copy dòng trên để thấy ký tự tab của mình chỉ có đúng 1 dấu space :smiley:

1 Like

Dạ thì vì hiểu sai lầm nên mới cần mọi người chỉ ra chỗ sai ở đâu đây ạ,
Em đang làm bài thay thế tabs bằng spaces nên cần tìm ra mối liên hệ ạ,
Và cảm ơn vì đã chỉ ra rằng em sai một lần nữa ạ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?