zoukankan      html  css  js  c++  java
  • win10 命令行启用C程序读写文件

    之前写了一下C语言操作文件的代码,将打要读写的文件名直接用字符串常量的方式写在代码里面,只要运行目录下存在需要文件,调试和双击打开都没问题,唯独Win命令行运行是出现问题。

    于是尝试将需要打开和写入的文件名在命令行以字符串方式输入,然后用main函数的char * argv[]传参,问题得到有效解决。

    原创随笔,转载注明出处,谢谢!

    代码如下:

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 FILE *fp,*fp1;
     4 int main(int argc,char* argv[])
     5 {    
     6     int ch,count=0;
     7     if(argc!=3)
     8     {
     9         printf("Usage:%s filename",argv[0]);
    10         exit(EXIT_FAILURE);
    11     }
    12     
    13     if((fp=fopen(argv[1],"r"))==0||(fp1=fopen(argv[2],"w"))==0) /*argv[1]和argv[2]分别是指向命令行第二个和第三个参数的指针,
    14                                                                  即要读和写的文件名,包含文件路径*/
    15     {
    16         printf("openerr!
    ");
    17         //char c=getchar();
    18         exit(0);
    19     }
    20     
    21     while(fscanf(fp,"%c",&ch)==1)  //这里用fscanf函数控制不会多读值,用!feof(fp)控制会多读一个值
    22     {
    23         printf("%c",ch);
    24         fprintf(fp1,"%c",ch);
    25         count++;
    26     }
    27     printf("%d
    ",count);
    28     //char d =getchar();
    29     return 0;
    30 }

    运行结果:

     

     

  • 相关阅读:
    模糊查询与索引
    weblogic 域的创建
    undo表空间缩小
    weblogic安装
    C#学习笔记——枚举类型
    C#学习笔记——windows窗体
    Qt之主窗口设计——打印图像
    C#学习笔记——MDI窗体(多文档界面)
    C#学习笔记——抽象类和抽象方法
    C#学习笔记——Main方法
  • 原文地址:https://www.cnblogs.com/bboykaku/p/12583099.html
Copyright © 2011-2022 走看看