Nếu tôi cần phải đọc int từ ifstreamcách chính xác để cast địa chỉ của int để char trỏ
int myInt = 0;
fileStream.read(reinterpret_cast<char*>(&myInt), sizeof(int));
đang sử dụng reinterpret_cast<char*>
cách chính xác để thực hiện điều đó?
Nếu tôi cần phải đọc int từ ifstreamcách chính xác để cast địa chỉ của int để char trỏ
int myInt = 0;
fileStream.read(reinterpret_cast<char*>(&myInt), sizeof(int));
đang sử dụng reinterpret_cast<char*>
cách chính xác để thực hiện điều đó?
đang sử dụng reinterpret_cast cách chính xác để thực hiện điều đó?
Có. Ưu tiên phôi kiểu C++, thay vì phôi kiểu c.
Như đã đề cập trong các ý kiến, một cách tốt hơn để sử dụng read method function là:
int myInt = 0;
fileStream.read(reinterpret_cast<char*>(&myInt), sizeof(myInt));
Tôi không đồng ý với câu trả lời (không phải là bình luận về C++ và c phong cách phôi), xem câu trả lời của Jon dưới đây. – Walter
@Walter Có phiếu giảm giá ở bên trái. Tuy nhiên, câu trả lời của Jon sẽ không hoạt động nếu nó được đọc từ một tệp nhị phân. –
thật đáng tiếc là tôi không thể chỉnh sửa nhận xét ngu ngốc của tôi ... – Walter
Điều này có thể hỗ trợ: http://stackoverflow.com/questions/4748232/reinterpret-cast :) –
Xem xét sử dụng 'sizeof myInt' không lặp lại kiểu, và để an toàn nếu sau này bạn quyết định thay đổi kiểu thành ví dụ 'long' có thể có kích thước khác. – unwind
Cảm ơn. Âm thanh như một ý tưởng hay để sử dụng 'sizeof myInt' – dextrey