【发布时间】:2014-01-28 18:30:58
【问题描述】:
我有一些类似的代码;
#include<iostream.h>
#include<string.h>
#include<conio.h>
class MyClass{
char mystring[10];
int mynumber;
public:
MyClass(){}
MyClass(char x[],int y){
strcpy(mystring,x);
mynumber = y;
}
void disp(void){
cout<<mystring<<" - "<<mynumber;
}
void read(void){
cout<<"enter char and number\n";
cin>>mystring>>number;
}
}
int main(){
Myclass test[10];
for(int i=0;i<9;i++){
test[i].read;
//then store the object into file
}
//if user want to display data, then read from file like;
// string1 - 1234
// string2 - 3432
// string9 - 4830
getch();
return 0;
}
我想将一些字符串和关联的号码(如电话簿)存储到一个文件中,例如myfile.txt 作为二进制文件。数据文件可能存储对象 MyClass。如何将信息存储到文件中并从文件中打印整个数据?无需进行文件搜索。
【问题讨论】:
-
使用 std::string 代替 C 风格的字符串。
-
@ThomasMatthews 你能给我一个完整的答案吗,对不起,我是初学者:(
-
为什么要介绍一个二进制文件的所有问题?例如,编译器可能会在结构成员之间添加填充,从而破坏关系。此外,ASCII 文本与二进制文本相同,占用相同的空间。
-
我还能做什么?我只想将类的对象存储到文件中并从那里检索信息。其他的可能性是什么?我想在这里实现 write(),这就是为什么..