customer c1;
ifstream fin ;
fin.open("savings.txt", ios :: in | ios :: binary) ;
fin.read((char *) & c1, sizeof(customer));
我只是希望清楚到目前为止我对上一个阅读声明所理解的内容。读取操作从get指针的位置读取所需的字节数(客户对象的长度),并将客户类型的地址类型转换为指向字符类型的指针,并将读取的字节存储到c1对象中。如果有人能让这个过程更清晰,我会很感激。我参考了许多参考文献,但找不到更好的解释。
答案 0 :(得分:3)
演员告诉编译器应该认为c1的地址实际上指向char
类型的数据。这样做是因为read
函数需要第一个参数o属于该类型 - 它设计了带有“二进制”数据的数据,并且仅基于起始地址和字节数访问/使用该数据。