01/10/2018, 17:47

How to convert int to string in C

mình tìm hiểu thì biết có sprinf và itoa ngoài sử dụng 2 hàm này
ai có y tưởng hay cách gì nữa ko. cho mình xin ý kiến.
Only C.

Trần Hoàn viết 19:50 ngày 01/10/2018

Bạn tính logarit của số đó với cơ số 10, thu được số chữ số (var1)
Bạn so sánh số đó với 0, thu được dấu (var2)
Từ var1 và var2 bạn thu được kích thước của xâu
=> khởi tạo mảng động kiểu char*

Từ var1, bạn chạy vòng for (int i từ var1 -> 0), kết hợp các phép % và / để thu được từng đơn vị gán vào các vị trí trong mảng char* ở trên

rogp10 viết 20:03 ngày 01/10/2018

^ Mảng động thì ai free?

Dùng cái sprintf chứ itoa nó lại bảo không có hàm (non-portable), mà nghĩ lại itoa là thừa rồi.
Bạn cứ n = n/10 rồi lấy mod cho mình sau đó chèn zero rồi đảo ngược lại là ra chuỗi, đó là dùng mảng cho sẵn.

Bài liên quan
0