Dưới đây là những ví dụ cho cả bản và quản lý C++:
Giả sử bạn đang hài lòng với một giải pháp tự nhiên các công việc sau tốt:
fstream *fs =new fstream(filename,ios::out|ios::binary);
fs->write("ghgh", 4);
fs->close();
delete fs; // Need delete fs to avoid memory leak
Tuy nhiên, tôi sẽ không sử dụng bộ nhớ động cho fstream đối tượng (tức là câu lệnh và điểm mới). Đây là phiên bản mới:
fstream fs(filename,ios::out|ios::binary);
fs.write("ghgh", 4);
fs.close();
EDIT, câu hỏi đã được chỉnh sửa để yêu cầu một giải pháp tự nhiên (ban đầu nó là không rõ ràng), nhưng tôi sẽ để lại câu trả lời này vì nó có thể được sử dụng cho một người nào đó
Nếu bạn đang tìm kiếm tùy chọn C++ CLI (đối với mã được quản lý), tôi khuyên bạn nên sử dụng StreamWriter thay cho FileStream. StreamWriter sẽ cho phép bạn làm việc với Managed Strings. Lưu ý rằng xóa sẽ gọi phương thức Vứt bỏ trên giao diện IDisposable và Garbage Collected sẽ giải phóng bộ nhớ cuối cùng:
StreamWriter ^fs = gcnew StreamWriter(gcnew String(filename));
fs->Write((gcnew String("ghgh")));
fs->Close();
delete fs;
Nguồn
2011-03-19 14:48:19
vui lòng chỉnh sửa bài đăng của bạn và thêm thông báo lỗi chính xác mà bạn có. Ngoài ra mã hoàn chỉnh (được định dạng đúng, với các tiêu đề) có thể sẽ giúp ích. – Mat
@user: FileStream' xuất phát từ đâu? Tại sao bạn tạo hai luồng? Tại sao bạn tạo luồng động của mình? Bạn có phải là lập trình viên Java đã chuyển sang C++ không? –
FileStream? Đó là một lớp .NET phải không? Bạn đang cố gắng làm C++? Hoặc C++/CLI? –