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 }

运行结果:

 

 

原文地址:https://www.cnblogs.com/bboykaku/p/12583099.html