Tôi muốn kiểm soát xem ostream
xuất ra của char
s và unsigned char
's của tôi qua <<
viết chúng như ký tự hoặc số nguyên. Tôi không thể tìm thấy một tùy chọn như vậy trong thư viện chuẩn. Hiện tại, tôi đã hoàn nguyên về việc sử dụng nhiều lần quá tải trên một tập hợp các chức năng in thay thếchars in ấn như Số nguyên
ostream& show(ostream& os, char s) { return os << static_cast<int>(s); }
ostream& show(ostream& os, unsigned char s) { return os << static_cast<int>(s); }
Có cách nào tốt hơn không?
Bạn có muốn luôn luôn để in ký tự là số nguyên hoặc tùy thuộc vào một điều kiện? – Andrey
Tôi muốn nó phụ thuộc vào điều kiện (trạng thái) tương tự như cờ trạng thái 'ios'. –
Tôi không hiểu sự cần thiết phải phân biệt chữ ký và unsigned char. Nếu bạn muốn xuất nó dưới dạng một số, hãy đặt nó dưới dạng int trước. Nếu không, chỉ cần in nó vào os. – Neil