2010-08-20 78 views
7

Tôi muốn định dạng int chưa ký thành chuỗi dài 8 chữ số có số 0 đứng đầu.Làm cách nào để định dạng int chưa ký thành số thập lục phân 8 chữ số?

Đây là những gì tôi có cho đến nay:

unsigned int number = 260291273; 
    char output[9]; 
    sprintf(output, "%x", number); 
    printf("%s\n", output); // or write it into a file with fputs 

In "f83bac9", nhưng tôi muốn "0f83bac9". Làm thế nào tôi có thể đạt được định dạng?

+1

Tôi đã không downvote, nhưng tôi có thể tưởng tượng rằng nó được cho một câu hỏi mà có thể được trả lời đơn giản bằng cách nhìn vào trang hướng dẫn sử dụng. –

Trả lời

9

Sử dụng "% 08x" làm chuỗi định dạng của bạn.

5

Bạn có thể sử dụng 0-padding bằng cách chỉ định 0 và số chữ số bạn muốn, giữa % và loại định dạng.

Ví dụ, đối với số thập lục phân với (ít nhất) 8 chữ số, bạn muốn sử dụng %08x:

printf("%08x", number); 

Output (nếu number là 500):

000001f4

Các vấn đề liên quan