如何编辑结构的单个成员?例如,我想entity.name
从foo更改为foobar。
部分代码:
void editing1(int cnt, int qq)
{
Entity z;
char tempc[255];
int tempi = 0;
cout << "Type in new name: ";
cin >> tempc;
qq--;
Entity* ss = new Entity[cnt];
while (fread(&z, sizeof z, 1, file)) {
ss[tempi] = z;
if (tempi == qq) {
(*ss[tempi].name = *tempc);
};
tempi++;
};
purge();
for (int ii = 0; ii < cnt; ii++) {
fwrite(&ss[ii], sizeof(Entity), 1, file);
};
fclose(file);
system("cls");
};
但我明白了:
它很好......破坏了整个文件。原来的:
也有人可以解释为什么它会破坏整个文件而不是使用它的部分吗?