Rất thường xuyên tôi nhận được vào mã C nơi printf
chuỗi định dạng bắt đầu bằng \n
:
printf ("\ nHello");
Theo tôi đây là một điều khó chịu không mang lại lợi thế (khá nhiều nhược điểm!) Đối với việc in ấn "Hello\n"
:
- Nếu dòng in đầu tiên bắt đầu bằng
'\n'
, đầu ra chương trình sẽ bắt đầu bằng một dòng trống (vô dụng) - Nếu dòng in cuối cùng không kết thúc
'\n'
, đầu ra chương trình sẽ không kết thúc bằng một dòng mới (hữu ích khi đọc đầu ra trên thiết bị đầu cuối) - Trên hầu hết các thiết bị đầu cuối (nói chung là các luồng được đệm trong dòng), đầu ra bị xóa khi
'\n'
gặp phải, do đó, một dòng không kết thúc có'\n'
thể được hiển thị trên màn hình nhiều lần sau khi nó thực sự bịprintf
'(hoặc có thể không bao giờ, nếu luồng không bao giờ bị xóa , ví dụ nếu chương trình gặp sự cố)
Vì vậy, tại sao mọi người thích điều này?
fflush()
.