1. 程式人生 > 其它 >採用C編寫程式實現從檔案讀取操作

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

技術標籤:C語言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位元組結尾。
在這裡插入圖片描述
在這裡插入圖片描述
檔案讀取時出現了空格而開啟記事本並沒有。
開啟兩文字檔案:
在這裡插入圖片描述在這裡插入圖片描述