Tôi cần tuần tự hóa một int thành một tệp cục bộ và đọc nó vào bộ nhớ. đây là mã
#include "stdafx.h"
#include
#include
using namespace std;
int _tmain ( int argc, _TCHAR* argv[] )
{
tập tin của luồng;
fileout.open ("data,txt");
tập tin << 99999999;
tập tin << 1;
cout << fileout.tellp() << endl;
fileout.flush();
fileout.close();
ifstream fileint;
fileint.open( "data,txt" );
int tôi, một;
fileint >> i >> a; //i != 99999999 a!= 1 TẠI SAO?
cout << fileint.tellg() << endl;
return 0;
}
Nhưng nó không hoạt động bình thường, tôi không thể lấy i==99999999 hoặc a==1. Có chuyện gì thế này?
问题是 toán tử <<
Và nhà điều hành >>
Không phải là nhị nguyên——toán tử <<
xuất trực tiếp mà không có phần đệm hoặc dấu phân cách, trong khi nhà điều hành >>
Phân tích đầu vào được phân cách bằng dấu cách. Do đó, bạn cần thêm thủ công các dấu cách giữa nội dung ở đầu ra để đọc lại chính xác. Bạn cũng không thể xuất nội dung chứa khoảng trắng và mong đợi chúng được đọc lại chính xác.
Tôi là một lập trình viên xuất sắc, rất giỏi!