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 }

    运行结果:

     

     

  • 相关阅读:
    HUST 1372 marshmallow
    HUST 1371 Emergency relief
    CodeForces 629D Babaei and Birthday Cake
    CodeForces 629C Famil Door and Brackets
    ZOJ 3872 Beauty of Array
    ZOJ 3870 Team Formation
    HDU 5631 Rikka with Graph
    HDU 5630 Rikka with Chess
    CodeForces 626D Jerry's Protest
    【POJ 1964】 City Game
  • 原文地址:https://www.cnblogs.com/bboykaku/p/12583099.html
Copyright © 2011-2022 走看看