Tôi chỉ đang cố đọc/ghi từ tệp nhị phân. Tôi đã theo dõi this hướng dẫn, và nó hoạt động ... ngoại trừ nó có vẻ là viết những thứ vào một tập tin txt. Tôi đặt tên file test.bin khi kiểm tra nó, nhưng notepad có thể mở nó và hiển thị nó đúng cách, vì vậy tôi không nghĩ rằng nó thực sự là một tập tin nhị phân. Tôi đã nói với nó rằng đó là một tập tin nhị phân với "wb" và "rb" phải không?Đọc/Viết Tệp nhị phân
if arg[1] == "write" then
local output = assert(io.open(arg[2], "wb"))
output:write(arg[3]) --3rd argument is written to the file.
assert(output:close())
elseif arg[1] == "read" then
local input = assert(io.open(arg[2], "rb"))
print(input:read(1)) --Should read one byte, not one char/int. Right?
end
Một tập tin văn bản * là * một loại tập tin nhị phân. – greatwolf
Có lẽ, đọc/ghi tệp văn bản được mở mà không có tùy chọn 'b' có thể dừng tại' '\ x1A'' char. Để tránh điều này, tùy chọn 'b' đã được giới thiệu. –
http://www.cplusplus.com/forum/general/33808/ Bài đăng thứ hai trong những điều được làm rõ này cho tôi. Trong lớp C++ của tôi, chúng tôi được dạy rằng các tệp nhị phân là những thứ hoàn toàn riêng biệt, có nghĩa là không thể đọc được đối với con người, vì vậy tôi khá bối rối khi tôi có thể đọc nó đúng cách với notepad.Điều đó nói rằng, nếu bạn mở các tập tin nhị phân lưu của hầu hết các trò chơi, nó sẽ hiển thị như là rác hoàn toàn không thể nhận ra, vì vậy tôi không thể không cảm thấy như có một cái gì đó tôi đang mất tích. –