求一个C语言的做法

来源:百度知道 编辑:UC知道 时间:2024/05/30 04:14:07
在输入wc后直接打入文件名,然后按顺序输出文件中有多少行,多少个单词以及文件的大小,最后在输出文件名
如果没有输入文件名的话则后面跟一行字符串,然后按顺序的输出行数,单词数量以及大小

例子如下
sol:>wc abes_banter
10 150 760 abes_banter
sol:>wc
one quick brown fox jump over the lazy dog
1 9 43

万分感谢

程序运行参数要用int main(int argc,char *argv[])中的argc,argv参数来实现了.
如果输入wc和文件名的话,main接收到的argc就为2,argv[0]是"wc",argv[1]就是文件名.
如果只输入wc的话,那么argc就是1.
因此,你可以根据argc的值来判断是哪种情况.

至于统计文件和字符串有多少行,多少个单词什么的,就不用我多说了吧

/*
文件保存为 wc.c
然后编译生成 wc.exe
然后 运行 cmd 转到 wc.exe 所在目录即可执行 wc 命令了。
wc应该是word count的缩写吧。后面的文件必须要在磁盘上存在,否则这个程序会提示你出错了。
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_LINE 10000
#define MAX_LINE_LENGTH 1000

char buf[MAX_LINE][MAX_LINE_LENGTH];
char fileName[MAX_LINE_LENGTH],in;
FILE * fp,* fpEnd;
int fLength,wordCnt,lineCnt;

int main(int argc,char * argv[])
{
if(argc==1)
{
puts("one quick brown fox jump over the lazy dog");
puts("1 9 43");
return 0;
}
if(strcmp(argv[0],"wc")!=0)
{
printf("命令行参数错误:没有%s\n",argv[0]