如何用c语言编程统计由命令行参数指定的文件中最长行所具有的字符个
2个回答
展开全部
这个程序所用的文件名可以直接从命令行给出,例如生成了a.exe文件,那么:a.exeb.txt执行这个命令行,程序就会统计b.txt.文件中的字母数量。学习编程就像学数学,最重要的就是自己独立思考,像这个程序,完全可以通过研读我前面写的内容自己看出其运行机制。千万不要做一个不会思考的人。****************************************************假如生成的可执行文件名为a.exe,那么:a.exeabcdefht其中的abc和def以及ht就是传到a.exe的命令行参数,它们都是字符串,要想在程序中使用这些参数,就必须把main函数的参数列表写成如下形式:intmain(intargc,char*argv[])这样,argc就是参数的个数(程序路径自身也是一个参数),所以对于上面的例子而言,argc=4,argv字符指针数组中就保存了指向各个参数字符串的指针(程序路径是第一个参数,由argv[0]指向),所以对于上面的例子而言,argv[0]="a.exe"argv[1]="abc"argv[2]="def"argv[3]="ht"一个示例,说明如何使用这些参数://---------------------------------------------------------------------------#includeintmain(intargc,char*argv[]){inti;for(i=0;iintmain(intargc,char*argv[],char*env[]){inti;for(i=0;env[i];i++){puts(env[i]);}return0;}//---------------------------------------------------------------------------有关程序参数的详细说明,请参考一下国外的C语言教材和LINUX系统编程方面的教材
展开全部
#include <stdio.h>
int main(int argc, char **argv)
{
FILE *fp;
int c;
int n=0, max=-1;
if(argc == 1) return -1;
fp = fopen(argv[1], "rb");
if(fp == NULL) return -2;
while((c=fgetc(fp))!=EOF)
{
n++;
if(c=='\n')
{
if(max < n) max = n;
n = 0;
}
}
if(max < n) max = n;
printf("the longest line has %d chars\n", max);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询