0

私がしなければならないこと: 「Emp.dat」という名前の既存のデータ ファイルに 2 つのデータ フィールドを追加し、2 つの新しいデータ フィールド Ename と Eno を追加する必要があります。以前のデータを追加しているため、削除できません。

私が今まで試したこと:

Ofstream fout; fout.open("Emp.dat");

私は彼の方法で書き込みモードでファイルを開くことができますが、その後、ファイルに何かを書き込んでいると、以前のデータが削除されます。

char Ename[30]="Biman";
fout<<Ename;
int Eno=5;
fout<<Eno;

私は何を間違っていますか助けてください。

4

2 に答える 2

0

@Uberfuzzy のおかげでうまくいきました

最終コード:

#include <fstream>
int main () 
{
int eno=12;
char ename[15]="Biman Ghosh";
fstream filestr;
filestr.open ("Emp.dat", fstream::in | fstream::out | fstream::ate);
filestr<<eno;
filestr<<ename;
filestr.close();
return 0;
}

以前は、使用できる他のモードについて知りませんでした。これでクリアです。

于 2013-04-14T11:26:47.820 に答える
0

最初に完全なファイルを読み取り、構造のリストに古いデータを入力する必要があります。次に、新しいフィールドを使用してすべての構造を書き出します

于 2013-04-14T11:11:13.453 に答える