Tôi hiện đang làm việc trên một ứng dụng Android dựa trên C dựa trên NDK. Ứng dụng này cần tạo tệp tạm thời. Trên một hệ thống Linux thông thường, tôi sẽ sử dụng tmpfile
để đảm bảo rằng các tệp này được tạo đúng cách trong một thư mục tạm thời và được dọn sạch ở cuối quá trình.Tạo các tệp tạm thời trong Android với NDK
Tuy nhiên, cuộc điều tra của tôi trên các thiết bị Android khác nhau dường như chỉ ra rằng
tmpfile
luôn thất bại;- không có thư mục
/tmp
; - thư mục
/data/local/tmp
không có trên tất cả các biến thể của Android; - không có
TEMP
bộ biến môi trường; mkstemp
không hoạt động tốt hơntmpfile
.
Bây giờ, tôi chắc chắn rằng tôi có thể hack thứ gì đó lại với nhau, nhưng thấy rằng SDK cung cấp context.getCacheDir
và File.createTempFile
cho các ứng dụng Java, tôi hy vọng rằng có tương đương ở cấp C.
Có ai biết phương pháp đáng tin cậy và đa phương tiện tốt để tạo tệp tạm thời không?
Có thể sử dụng 'libcore' để gọi' setenv() ', xem http://stackoverflow.com/a/22315463/192373. Đây có thể là một cách thanh lịch hơn để hiển thị tên của bộ đệm ẩn cho người bản xứ. –