2010-02-09 50 views
6

Tôi đang tìm cách chuyển đổi số nguyên thành chuỗi theo cách di động (di động trong ít nhất Windows & Linux và x86 và x86_64) và mặc dù itoa(X) là chuẩn giống như atoi(1).Làm thế nào để chuyển đổi một số nguyên thành một chuỗi một cách dễ dàng?

Nhưng tôi đọc phần sau đây trong Wikipedia:

Chức năng itoa là một phần mở rộng phi tiêu chuẩn rộng rãi đến các ngôn ngữ lập trình C chuẩn. Nó không thể được sử dụng hợp lý, vì nó không được định nghĩa trong bất kỳ tiêu chuẩn ngôn ngữ C nào; tuy nhiên, các trình biên dịch thường cung cấp nó thông qua tiêu đề trong khi ở chế độ không phù hợp, bởi vì nó là một đối tác hợp lý đối với hàm thư viện chuẩn atoi.

Vì vậy, tôi muốn biết liệu có cách nào để thực hiện điều đó theo cách di động hay không. Trong trường hợp tôi phải viết chức năng của riêng mình, tôi phải cẩn thận với những thứ gì?

+0

trong khi itoa không phải là _officially_ di động, tôi nghi ngờ bạn sẽ gặp phải sự cố với nó. và nếu bạn làm thế, đó là một chức năng rất dễ viết. –

+0

Bạn luôn có thể tự thực hiện: P –

Trả lời

1

Thông thường bạn chỉ sử dụng printf ("% d");

http://en.wikipedia.org/wiki/Printf

Bạn có thể sử dụng sprintf nếu bạn cần nó trong một bộ đệm, nhưng bao lâu thì bạn chuyển sang một chuỗi và không viết nó vào một tập tin hoặc đầu ra thiết bị?

0

Nếu bạn không thường xuyên làm điều này một cách khủng khiếp, làm thế nào về một thói quen thư viện thời gian chạy viết một vài số vào bộ nhớ, phân tích kết quả và lưu trữ một loại mã hóa? Từ đó bạn chỉ cần bật "loại mã hóa" để chọn thói quen chuyển đổi để sử dụng.

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