2013-05-09 32 views
5

Những gì tôi đang cố gắng để là viết một cái gì đó như thế nàyLeft of chấm chính xác

file << someFunction(5) << hex << 3; 

Và để có được một kết quả như 00003 này thay vì 3 (và 300 sẽ là 00.300, vv)

Lưu ý: - Xin lỗi nếu điều này đã được hỏi trước, tôi không biết thuật ngữ nào để tìm kiếm để có được điều này

EDIT: - Ý tôi là số 0 ở bên trái, tôi bao gồm phần hex chỉ để rõ ràng tôi muốn nó tương thích với định dạng này

+0

Bạn có nghĩa là đại diện thập lục phân, hoặc làm bạn có nghĩa là đệm với zero ở phía bên trái? Mã này dường như trỏ đến cái cũ, nhưng ví dụ về đầu vào và đầu ra dường như trỏ đến cái sau. – Aleph

+0

Có lỗi hoặc cảnh báo phát ra không? – PurityLake

Trả lời

12

Tôi tin rằng đây là ý của bạn.

#include <iostream> 
#include <iomanip> 
int main() 
{ 
    std::cout << std::setw(5) << std::setfill('0') << 3 << '\n'; 
    return 0; 
} 

Output

00003 

Liên kết setw, setfill.

Chỉnh sửa: Ngoài ra, hãy xem std::internalat this question.

4

Sử dụng

file << setfill('0') << setw(5) << 3; 

để có được 00003 thay vì 3

2

iomanip là những gì bạn cần phải tìm kiếm.

#include <iomanip> 

sau đó

file << someFunction(5) << hex << setw(5) << setfill('0') << 3 << endl; 
Các vấn đề liên quan