Wc c = new Wc();//创建对象
Console.Write("wc.exe");
string msg = Console.ReadLine();
string[] newm = msg.Split(new char[] { ' ' });//去掉空格 拆分成几个字符串
int n = newm.Length;
string str = newm[n - 1];//记录文件路径
foreach (string i in newm)
{
if (i == "-c")
{
c.Read(str, 1);//字符数目功能
}
else if (i == "-w")
{
c.Read(str, 2);//单词数
}
else if (i == "-l")
{
c.Read(str, 3);//行数目
}
//byte[] byData = new byte[10000];//应该注释掉,一开始用的byte类型,后来发现有点问题
FileStream file = new FileStream(a, FileMode.Open);
StreamReader sr = new StreamReader(file);//访问文件并读取
//file.Read(byData, 0, 10000);
switch (b)
{case 1:
{
/*while (byData[i] != '\0')
{
c++;
i++;
}*/
int Ichar = 0;
while ((Ichar = sr.Read()) != -1) // 不再有可用的字符,则为 -1
{
if (Ichar != ' ')
{
c++;
}
}
Console.WriteLine("字符数为:" + c);
file.Close();
} break;
case 2:
{
int Ichar = 0; //增加 char[] no = { ' ', '\n', '{', '}', '(', ')', '=', '+', '_', '*', '%' };
while ((Ichar = sr.Read()) != -1)
{
if (Ichar == ' ' || Ichar == '\n')//这我在想想更准确的判断方法 - -!
{ // for (int ss = 0; ss < 11; ss++)
w++; // {
} // if (Ichar ==no[ss]) 这个更加 准确!
}
Console.WriteLine("单词数为:" + w);
file.Close();
} break;
case 3:
{
int Ichar = 0;
while ((Ichar = sr.Read()) != -1)
{
if (sr.ReadLine() != null)
{
l++;
}
}
Console.WriteLine("行数为:" + l);
file.Close();
} break;
}