C语言:使用命令行参数用字符串读取流和输出流进行文本文件的复制

  1. #include<stdio.h>
  2. int main(int argc,char *argv[])
  3. {
  4. //检查用户的参数是否正确
  5. if(argc<3)
  6. {
  7. printf("用法:命令 源文件名 目标文件名\n");
  8. return -1;
  9. }
  10. //先打开源文件
  11. FILE *fin = fopen(argv[1],"r");
  12. if(fin==NULL)
  13. {
  14. printf("打开源文件失败,请检查!\n");
  15. return -1;
  16. }
  17. //打开目标文件
  18. FILE *fout = fopen(argv[2],"w");
  19. //拷贝文件内容
  20. char buffer[100];
  21. while(!feof(fin))
  22. {
  23. //先从源文件中读文件
  24. if(fgets(buffer,100,fin)!=NULL)
  25. {
  26. //写到目标文件中
  27. fputs(buffer,fout);
  28. }
  29. }
  30. //关闭两个文件
  31. fclose(fin);
  32. fclose(fout);
  33. return 0;
  34. }
时间: 2024-11-10 08:08:11

C语言:使用命令行参数用字符串读取流和输出流进行文本文件的复制的相关文章

c语言中命令行参数argc,argv[ ]

main(int argc,char *argv[ ]) argv为指针的指针 argc为整数 char **argv or: char *argv[] or: char argv[][] main()括号内是固定的写法. 下面给出一个例子来理解这两个参数的用法: 假设程序的名称为prog, 当只输入prog,则由操作系统传来的参数为: argc=1,表示只有一程序名称. argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog 当输入prog para_1,有一个参数,则由操

R语言使用命令行参数

args_test.R 代码如下: Args <- commandArgs()cat("Args[1]=",Args[1],"\n")cat("Args[2]=",Args[1],"\n")cat("Args[3]=",Args[3],"\n")cat("Args[4]=",Args[4],"\n")cat("Args[5]=&qu

c语言中命令行参数argc,argv[]详解

main(int argc,char *argv[ ]) 1.argc为整数 2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[][]   ,argv是一个指针数组) 注:main()括号内是固定的写法. 3.下面给出一个例子来理解这两个参数的用法: 假设程序的名称为prog,    当只输入prog,则由操作系统传来的参数为:    argc=1,表示只有一程序名称.    argc只有一个元素,argv[0]指向输入的程

go语言 从命令行获取参数解析

go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单. os.Args 如果你只是简单的想要获取命令行参数,可以像下面的示例代码一样使用os.Args来获取命令行参数 package main import "fmt" import "os" func main(){ if len(os.Args)>0 { for index , value := range os.Args { fmt.Println(index, value

聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数] 较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参数.环境变量和物理文件作为原始配置数据的来源,如果采用物理文件作为配置源,我们可以选择不同的格式(比如XML.JSON和INI等) .如果这些默认支持的配置源形式还不能满足你的需求,我们还可以通过注册自定义ConfigurationSour

命令行参数相加问题

一,设计思想 因为命令行参数是字符串类型,所以需要进行转换.可以把每个命令行参数,依据字符串长度使用循环结构把每个字符串转换成double型,最后加和. 二,程序流程图 三,源程序代码和结果截图 public class  ComSum { public static void main(String[] args) { double sum=0; for(int i=0;i<args.length;i++) { double len; len=Integer.parseInt(args[i])

.NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参数.环境变量和物理文件作为原始配置数据的来源,如果采用物理文件作为配置源,我们可以选择不同的格式(比如XML.JSON和INI等) .如果这些默认支持的配置源形式还不能满足你的需求,我们还可以通过注册自定义ConfigurationSource的方式将其他形式数据作为我们的配置来源. [ 本文已经同

Python 获得命令行参数的方法

本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?需要模块:sys参数个数:len(sys.argv)脚本名: sys.argv[0]参数1: sys.argv[1]参数2: sys.argv[2] test.py 1 import sys 2 print "脚本名:", sys.argv[0] 3 for i in range(1, len(sys.argv)):

python中命令行参数

python中的命令行参数 python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 len(sys.argv)是命令行参数的个数 下面我们用一个简单的例子来说明一下. #!/usr/bin/python #coding:utf-8 import sys ##加载sys这个模块. for i in range(len(sys.argv)): print "第%d个参数是:%s"