c语音学习进阶-C语言带命令行参数的程序设计

C语言带命令行参数的程序设计

(1)深入理解并学习带命令行参数的程序设计方法,使用c 语言完成带命令行参数的科学计算程序,能从给定的任意文件名的文件当中输入数据,并能向给定的任意文件名的输出文件当中输出数据结果。
在许多应用软件运行时都带有命令行参数,这些命令行参数在C 语言编写的程序中是可以实现的,灵活地运用命令行参数进行处理可以有效地提高程序的运行效率,达到事半功倍的效果。输入命令时,在可执行文件(命令)名后面可以跟一些参数(命令行参数),一般形式为:命
令名参数1 参数2 …参数n,命令名和参数之间用空格分隔,也可以没有参数,例如程序的主函数main(int argc,char *argv[] 这样两个参数,其中,int argc 表示命令行参数的个数(包括可执行程序名本身),char *argv[] 表示每个参数的具体内容,argv[0] 为命令行中可执行程序名本身,argv[1] 为命令行中第二个参数的内容,依次类推。
采用命令行参数的形式从给定的任意文件名的文件当中输入数据,并能向给定的任意文件名的输出文件当中输出数据代码如下:

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

int main(int argc,char*argv[])
{
	FILE*fp1,*fp2;//文件指针表示的两个流
	if (argc!=3)
	{
		printf("参数输入不正确!");	
		printf("提示:命令 输入文件 输出文件");
	}
	fp1=fopen(argv[1],"r");//打开并读取参数argv[1]对应的输入文件
	if(fp1==NULL)
	{
		printf("输入文件打开失败");
		return 0;
	}
	float x,y;//x为输入的数字,y为输出的数字
	fp2=fopen(argv[2],"w");//打开并写入参数argv[2]对应的输出文件,与“w”相比“a”也可以写入文件,但是写之前文件不进行格式化
	while(!feof(fp1))//feof本身是一个非负的整型常量,表明以达到文件末尾
	{
		fscanf(fp1,"%f\n",&x);//格式化的文件输入,读入并且赋值给实际参数,从第一个参数fp1指定的流中读入内容
		//scanf("%d",&x);//总是从标准输入流stdin中读入内容
		y=x;
		fprintf(fp2,"%f\n",y);//格式化的文件输出,读入并且赋值给实际参数,从第一个参数fp2指定的流中输出内容
		//prinf("%d",&y);//总是从标准输入流stdin中输出内容
	}
	if (fclose(fp1)!=0);//关闭文件成功关闭则返回值为0
	{
		printf("文件 %s\n 关闭错误",argv[1]);
	}
	if (fclose(fp2)!=0);
	{
		printf("文件 %s\n 关闭错误",argv[2]);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值