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\0",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!\n");
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\n",count);
28     //char d =getchar();
29     return 0;
30 }

 

運行結果:

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM