一段有问题的C#代码~~请教高人
using System;
public static class GlobalMembersSadf
{
public static bool OutDataToFile(My_Memo memo, int number)
{
ofstream outm = new ofstream("memo.dat"/*,ios.out|ios.binary*/);
ofstream outn = new ofstream("number.dat"/*,ios.out|ios.binary*/);
if (outn != null && outm != null)
{
outn.write((string)&number, sizeof(int));
outn.close();
for (int i = 0; i < number; i++)
{
outm.seekp(sizeof(My_Memo) * i, ios.beg);
outm.write((string)(memo + i), sizeof(My_Memo));
}
outm.close();
return true;
}
return false;
}
public static bool InDataOfFile(My_Memo memo, ref int number)
{
ifstream inm = new ifstream("memo.dat"/*,ios.in|ios.binary*/);
if (inm != null)
{
for (int i = 0; i < number; i++)
{
inm.seekg(sizeof(My_Memo) * i, ios.beg);
inm.read((string)(memo + i), sizeof(My_Memo));
}
inm.close();
return true;
}
return false;
}
public static void ADD()
{
int number = 0;
ifstream f = new ifstream("number.dat"/*,ios.in|ios.binary*/);
if (f != null)
{
f.read((string)&number, sizeof(int));
f.close();
}
My_Memo[] memo = new My_Memo[number + 1];
GlobalMembersSadf.InDataOfFile(new My_Memo(memo), ref number);
(memo + number).Input();
number++;
if (!GlobalMembersSadf.OutDataToFile(new My_Memo(memo), number))
{
Console.Write("write error!");
Console.Read();
Console.Read();
memo = null;
return;
}
memo = null;
}
public static void ALL()
{
int number = 0;
ifstream f = new ifstream("number.dat"/*,ios.in|ios.binary*/);
if (f != null)
{
f.read((string)&number, sizeof(int));
f.close();
}
My_Memo[] memo = new My_Memo[number];
if (!GlobalMembersSadf.InDataOfFile(new My_Memo(memo), ref number))
{
Console.Write("rendin error!");
Console.Read();
Console.Read();
memo = null;
return;
}
for (int i = 0; i < number; i++)
{
(memo + i).Output();
Console.Write("\n");
Console.Write("\n");
}
Console.Write("the end!");
Console.Read();
Console.Read();
}
public static void DELETE()
{
int number = 0;
ifstream f = new ifstream("number.dat"/*,ios.in|ios.binary*/);
if (f != null)
{
f.read((string)&number, sizeof(int));
f.close();
}
My_Memo[] memo = new My_Memo[number];
if (!GlobalMembersSadf.InDataOfFile(new My_Memo(memo), ref number))
{
Console.Write("rendin error!");
Console.Read();
Console.Read();
memo = null;
return;
}
Day d = new Day();
Day b = new Day(1, 1, 1);
while (true)
{
Console.Write("Input one day(all Input 1 to end)");
Console.Write("\n");
d.InputDay();
if (d == b)
break;
for (int i = 0; i < number; i++)
{
if (d == (memo + i).GetDay())
{
string a;
Console.Write("is it(if true,input 0)");
cin >> a;
if (a == "0")
{
My_Memo m = new My_Memo();
m = *(memo + i) * (memo + i) = *(memo + number - 1) * (memo + number - 1) = m;
number--;
if (!GlobalMembersSadf.OutDataToFile(new My_Memo(memo), number))
{
Console.Write("write error!");
Console.Write("\n");
}
else
{
Console.Write("fullfill!!");
Console.Write("\n");
}
}
}
}
}
memo = null;
Console.Read();
Console.Read();
}
public static void MAKEROVER()
{
int number = 0;
ifstream f = new ifstream("number.dat"/*,ios.in|ios.binary*/);
if (f != null)
{
f.read((string)&number, sizeof(int));
f.close();
}
My_Memo[] memo = new My_Memo[number];
if (!GlobalMembersSadf.InDataOfFile(new My_Memo(memo), ref number))
{
Console.Write("rendin error!");
Console.Read();
Console.Read();
memo = null;
return;
}
Day d = new Day();
Day b = new Day(1, 1, 1);
while (true)
{
Console.Write("Input one day(all Input 1 to end)");
Console.Write("\n");
d.InputDay();
if (d == b)
break;
for (int i = 0; i < number; i++)
{
if (d == (memo + i).GetDay())
{
string a;
Console.Write("is it(if true,input 0)");
cin >> a;
if (a == "0")
{
(memo + i).Input();
if (!GlobalMembersSadf.OutDataToFile(new My_Memo(memo), number))
{
Console.Write("write error!");
Console.Write("\n");
}
else
{
Console.Write("fullfill!!");
Console.Write("\n");
}
}
}
}
}
memo = null;
Console.Read();
Console.Read();
}
public static void SEE()
{
int number = 0;
ifstream f = new ifstream("number.dat"/*,ios.in|ios.binary*/);
if (f != null)
{
f.read((string)&number, sizeof(int));
f.close();
}
My_Memo[] memo = new My_Memo[number];
if (!GlobalMembersSadf.InDataOfFile(new My_Memo(memo), ref number))
{
Console.Write("rendin error!");
Console.Read();
Console.Read();
memo = null;
return;
}