慕桂英3389331
2018-07-05 15:08:38
之前用流迭代器和流運(yùn)算符重載但總是讀取不出來(lái)而且存入亂碼。希望能給幾段代碼。補(bǔ)充:vector<class user>vec
1 回答

函數(shù)式編程
TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
java?c#?C++?你要說(shuō)明你用的語(yǔ)言的,多個(gè)語(yǔ)言支持模板的
若是C++的,對(duì)結(jié)構(gòu)的存儲(chǔ),你必序列化的
特別是類(lèi)中有指針,你不能直接將類(lèi)寫(xiě)文件的,必須對(duì)每個(gè)成員進(jìn)行輸出
如
struct user {
int id;
char *name;
} x;
你不能用
fwrite(&x,sizeof(x),1,fp);
來(lái)寫(xiě)文件
而要用
(順序文件)
fwrite(&x.id,MAX_NAME,1,fp);
fwrite(x.name,MAX_sizeof(int),1,fp);
或(隨機(jī)文件)
fprintf(fp,"%d",x.id);
fprintf(fp,"%s",x.name);
(只是一個(gè)原理的參考,具體要看你的結(jié)構(gòu))
添加回答
舉報(bào)
0/150
提交
取消