天天看點

采用C編寫程式實作從檔案讀取操作

采用C編寫程式實作從檔案讀取操作

#include <stdio.h>  
#include<math.h>
#include <stdlib.h>
int main()  
{  
    //下面是寫資料,将鍵盤輸入數字寫入到InputeData.txt檔案中  
    FILE *fpWrite1=fopen("InputData.txt","w");  
    if(fpWrite1==NULL)  
    {  
        return 0;  
    }
	int b;//定義整型變量b/可定義數組寫入多個數
	printf("please input:");//列印輸入提示
	scanf("%d",&b);//從鍵盤輸入數字指派給b
	printf("write %d into the file'InputData.txt'\n",b);//将b的值寫入InputeData.text檔案提示
     printf("\n");
	fprintf(fpWrite1,"%d\n",b);//将b的值寫入InputeData.text檔案 ,在此換行友善fget函數對檔案讀取 
    fclose(fpWrite1);  
    //下面是讀資料,将讀到的資料指派給變量,并且列印到控制台上  
    FILE *fpRead1=fopen("InputData.txt","r");  
	char a[10];//可在次嵌套循環讀取多行中的多個數進行運算
    if(fpRead1!=NULL)  
    {  	
       // fscanf(fpRead,"%d ",&a); //語句一次讀取隻一個字元 ,需要用數組存儲
        while(fgets(a,10,fpRead1)!=NULL)
	   {
         printf("read %s out of the file'InputData.txt'",a);
		  printf("\n");
	   }
      fclose( fpRead1 );
}
//下面是計算這個數的平方,将結果寫入到OutputeData.txt檔案中
int x=atoi(a);//将字元型輸出轉化為數值型
double y=x*x;//此時隻需定義整型此處定義了雙精度檢視結果
FILE *fpWrite2=fopen("OutputData.txt","w");  
    if(fpWrite2==NULL)  
    {  
        return 0;  
    }
	printf("write %f into the file'OutputData.txt'",y);//将b的值寫入InputeData.text檔案提示
	 printf("\n");
    fprintf(fpWrite2,"%f\n",y);//将b的值寫入OutputeData.text檔案 ,在此換行友善fget函數對檔案讀取 
    fclose(fpWrite2);  
    //下面是讀資料,将讀到的資料指派給變量,并且列印到控制台上  
    FILE *fpRead2=fopen("OutputData.txt","r");  
	char c[10];//可在次嵌套循環讀取多行中的多個數進行運算
    if(fpRead2!=NULL)  
    {  	
       // fscanf(fpRead,"%d ",&c); //語句一次讀取隻一個字元 ,需要用數組存儲
        while(fgets(c,10,fpRead2)!=NULL)
	   {
         printf("read %s out of the file'OutputData.txt'",c);
		 printf("\n");
	   }
      fclose( fpRead2 );
}
}  
           

fgets()讀取機制以行為機關進行讀取,讀入的位元組放入大小為n的緩沖區。若一行中包括最後一個換行符的字元數大于n-1個;則fgets值傳回不完整的行,對fgets的下次調用會繼續讀該行。緩沖區總是以NULL位元組結尾。

采用C編寫程式實作從檔案讀取操作
采用C編寫程式實作從檔案讀取操作

檔案讀取時出現了空格而打開記事本并沒有。

打開兩文本檔案:

采用C編寫程式實作從檔案讀取操作
采用C編寫程式實作從檔案讀取操作

繼續閱讀