亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ex13.cpp

?? c++代碼,來源于網上.c++代碼,來源于網上c++代碼,來源于網上.
?? CPP
字號:

		//		第13章      文     件


   // [例13.1] 格式轉換處理一個結構變量
	#include<stdio.h>
    typedef struct  SData
    {      int		nLineset; float	 fAdjust;int nPoint;
	 	  float	     fXa;	float  fYa;	 float	fZa;	
	} CData;
	void OutputData(const  char *filename,const CData &d )
	{
       FILE *fp= fopen(filename, "w");
   	   fprintf(fp,"%d,%f,%d\n",d.nLineset,d.fAdjust,d.nPoint);//1
	   fprintf(fp,"%f,%f,%f\n", d.fXa,d.fYa,d.fZa);//2
	   fclose(fp);       
	}
    void InputData(const  char *filename,CData &d )
	{  FILE *fp = fopen(filename, "r");  
      fscanf(fp,"%d,%f,%d",&d.nLineset,&d.fAdjust,&d.nPoint);//1
	  fscanf(fp,"%f,%f,%f", &d.fXa,	&d.fYa,&d.fZa);//2
	  fclose(fp);       
    }	  	
	void main(void)
	{   CData s={1,2,3,4,5,6};   
        OutputData("c:\\sdata.out",s);
        CData d;              
        InputData("c:\\sdata.out",d);
        OutputData("c:\\cdata.out",d);       	  
	}
////[例13.2]fgetc.cpp
	 # include <stdio.h>    
	void main(void)
 	{	FILE* fpGet=fopen("fgetc.cpp","r");
	    if(fpGet==NULL) {printf("fopen failed\n");return;}         
		int i=0;
		char buffer[512];
		while(feof(fpGet)==0 && i<512) 
			buffer[i++]=fgetc(fpGet);           
		buffer[i]='\0';
		printf("%s\n",buffer); 
		//fclose(fpGet);
	}//    程序運行的結果顯示fgetc.cpp在屏幕上。

///////////////[例13.3]fputc.cpp
	# include <stdio.h>    
	void main(void)
 	{	 FILE* fpGet=fopen("fputc.cpp","r");
	    if(fpGet==NULL) {printf("fopen failed\n");return;}  
		FILE* fpPut=fopen("fputc.xpp","w");
	    if(fpPut==NULL) {printf("fopen failed\n");return;}  
		while(!feof(fpGet)) //while(feof(fpGet)==0) 
				fputc(fgetc(fpGet),fpPut);           
		fclose(fpGet);			
		fclose(fpPut);
	}//程序運行之后即將上面的fputc.cpp源程序轉存到fputc.xpp中。

  /////////////  [例13.4] fgets.cpp
	# include <stdio.h>    
	void main(void)
 	{   	FILE* fp=fopen("fgets.cpp","r");
	    if(fp==NULL) {printf("fopen failed\n");return;}  
		char sBuffer[128];
		for(int k=0;k<9;k++) 
		   if(fgets(sBuffer,128,fp)!=NULL) printf("%s",sBuffer); 
		fclose(fp);
	}//    程序運行的結果顯示fgets.cpp在屏幕上。

 /////////////   [例13.5] fputs.cpp
    # include <stdio.h>                                
	void main(void)                                    
	{	FILE* fpRead=fopen("fputs.cpp","r");                  
   		if(fpRead==NULL) {printf("fopen r failed\n");return;} 
		FILE* fpWrite=fopen("fputsw.cpp","w");                  
   		if(fpWrite==NULL) {printf("fopen w failed\n");return;}  
		char s[81];                             
 		while(!feof(fpRead))       //while(feof(fpRead)==0)       
		if(fgets(s,81,fpRead)!=NULL) 
			{	fputs(s,fpWrite);	printf("%s",s);	} 
		fclose(fpWrite);                                    
	}
////////////	[例13.6]直接隨機方式處理結構變量和數組
	#include<stdio.h>
    typedef struct  SData              //聲明一個未含指針成員的結構類型
    {  int		nLineset; float	 fAdjust;int nPoint;
	  float	       fXa;	float  fYa;	 float	fZa;	
	} CData;                        //同時指定一個該類型的一個別名
	void WriteData(CData pSrc[],int n,FILE *fpDst)
	{  switch(n)                      //分支不是必要的僅只是闡明一些概念
		{ case 1:						//情形1常用于匹配一個簡單的變量
   		fwrite(pSrc,sizeof(CData),1,fpDst); break;
		default:						//缺省情形著重數組的處理
         fwrite(pSrc,sizeof(CData),n,fpDst);//將內存數組pSrc[n]轉存到fpDst定位的文件
	   }
	}
	inline  void ReadData(CData* pDst,int n,FILE *fpSrc )
	{   fread(pDst,sizeof(CData),n,fpSrc);	 } //從文件讀數組fpSrc[n]到pDst定位的內存 	
	void PrintData(const CData &d )
	{	   printf("%4d,%4.1f,%4d,%4.1f,%4.1f,%4.1f\n",
		   d.nLineset,d.fAdjust,d.nPoint,d.fXa,d.fYa,d.fZa); 	         
	}
	void main(void)
	{   CData s  ={0,1,2,3,4,5};    	             //定義一個簡單變量
        CData d[]={1,2,3,4,5,6,
		           2,3,4,5,6,7,
                   3,4,5,6,7,8};		             //定義一個結構數組	
        FILE* fpWrite=fopen("c:\\cdata.dat","w");  //打開文件的慣例操作是缺省文本方式
		if(fpWrite==NULL) {printf("fopen w failed\n");return;} 
	    WriteData(&s,1,fpWrite);                   //將結構變量s寫入磁盤
        WriteData( d,3,fpWrite);                   //將結構數組d寫入磁盤
		fclose(fpWrite);                          //及時地進行實際存盤運作
        FILE* fpRead=fopen("c:\\cdata.dat","r");    //以缺省方式打開上面剛生成的文件            
   		if(fpRead==NULL) {printf("fopen r failed\n");return;} 
		CData b[4];             //定義一個有4個元素的結構數組
        ReadData(b,3,fpRead);    //在文件中先讀取3組結構數據直接送入b[0],b[1],b[2]
        ReadData(b+3,1,fpRead);  //在文件中隨后位置再讀取1組結構數據直接送入b[3]
		for(int k=0;k<4;k++)      //在屏幕上循環顯示每一結構元素的成員值  
        PrintData(b[k]);          //二進制數據通過格式轉換以文本輸出
	}
/////[例13.7]ftell.cpp
     #include<stdio.h>	  	
	 void main(void)
	{   FILE * stream= fopen("ftell.cpp","rb");
        double a[20]; fread(a,sizeof(double),20,stream);
        printf("%d\n",ftell(stream));   //輸出160	  
	}
//////////[例13.8] 一個簡單的讀寫存盤程序
	#include <stdio.h>
	#include <stdlib.h>
	typedef struct student_tag
	{	int num;                    //成員num可以理解為學號
		char name[10];               //字符數組可以理解為姓名
		float s[3];                   //浮點數組具體意義可以靈活的理解
	}STudent;
	void Store(FILE*fpRead,int n)              //入口參數n用于動態構建結構數組
	{	FILE* fpWrite=fopen("STudent.txt","w");// fopen在heap空間建立流文件結構變量
		if(fpWrite==NULL)                 //打開文件的操作是缺省文本方式
         {printf("fopen w failed\n");return;} 
		rewind(fpRead);                          //反繞到文件的起始處
		STudent* ps=new STudent[n];               //定義動態的結構數組ps[n]
		while(!feof(fpRead))                      //一直讀到文件見底EOF
		   fread(ps,sizeof(STudent),n,fpRead);       //在源中讀取n*sizeof(STudent)到ps
		fprintf(fpWrite,"%-6s%-7s%-11s%-8s%-8s%-8s\n",
		   "order","number","name","math","c++","money"); //格式寫的界面靈活多變
		for(int k=0;k<n;k++)                      //循環輸出結構數組中元素的成員值
			fprintf(fpWrite,"%-6d%-6d%-11s%-8.2f%-8.2f%-8.2f\n",k,
			ps[k].num,ps[k].name,ps[k].s[0],ps[k].s[1],ps[k].s[2]);
		delete [] ps;                             //釋放自行建立的結構數組空間
		fclose(fpWrite);                     //釋放系統建立的結構變量,信息及時存盤
	}
	STudent* Produce(int &n)    //誕生一個靜態結構數組
	{   static STudent s[]={3004,"commom",  70,80,234,
	      3001,"matchless",100,100,9999,	    3009,"prudish",  50,51,815,
	      3005,"critical",   60,60,60,		3007,"poor",     50,50,0	};
		n=sizeof(s)/sizeof(s[0]);              //靜態結構數組的維數
		FILE* fpWrite=fopen("student.dat","w");//缺省方式寫打開操作
		if(fpWrite==NULL)
           {printf("fopen w failed\n");exit(0);} 
		fwrite(s,sizeof(STudent),n,fpWrite);  //整齊歸一的入口界面將s[n]送入fpWrite
		fclose(fpWrite);                  //及時關閉文件迅即執行存寫操作
		return s;                        //返回一個局部靜態數組的首地址
	}
	void Update(FILE*fp,int n)      //入口參數n用于指出磁盤空間結構數組的最大維數
	{   //更新流文件中相當于結構數組ps[n]中的元素ps[kth]的值
		printf("Enter the order num 0-%d to updade \n",n-1);
		int kth;
		scanf("%d",&kth);                    //屏幕交互實時地讀入定位的尺數
        STudent s;                          //定義一個局部結構變量s
		fseek(fp,kth*sizeof(STudent),SEEK_SET);//定位于距起始位置kth*sizeof(STudent)處
		fread(&s,sizeof(STudent),1,fp);         //在新定的位置處讀取一段數據到s
		Show(&s,kth);                       //顯示剛讀入的數據
		printf("Enter 4 values to updade for number,math,c++,money\n");
		scanf("%d,%f,%f,%f",&s.num,&s.s[0],&s.s[1],&s.s[2]);//鍵入四個結構成員值
		fseek(fp,kth*sizeof(STudent),SEEK_SET);//定位于結構數組ps[n]中的元素ps[kth]
		fwrite(&s,sizeof(STudent),1,fp);        //相當于寫到元素ps[kth]中
		Show(&s,kth);                      //顯示更新的數據
	}
	void Clear(FILE*fp,int n)
	{	printf("Enter the order num 0-%d to Clear \n",n-1);
		int kth;
		scanf("%d",&kth);                    //屏幕交互實時地讀入定位的尺數
		fseek(fp,kth*sizeof(STudent),SEEK_SET);//定位于距起始位置kth*sizeof(STudent)處
		STudent s0={0,"",0,0,0};              //定義一個清0的結構變量s0
		fwrite(&s0,sizeof(STudent),1,fp);       //在新定的位置處存寫s0
		fseek(fp,kth*sizeof(STudent),SEEK_SET);//復位于磁盤空間類似于至ps[kth]處
		STudent s;
		fread(&s,sizeof(STudent),1,fp);         //在最新的位置讀數據到結構到變量s
		Show(&s,kth);                       //顯示這個結構變量
	}
	void Show(STudent *ps,int k) //格式化顯示ps所指的結構的成員值,形參k指出序號
	{	printf("%-6s%-7s%-11s%-8s%-8s%-8s\n",
				"order","number","name","math","c++","money");
		printf("%-6d%-7d%-11s%-8.2f%-8.2f%-8.2f\n",k,
			ps->num,ps->name,ps->s[0],ps->s[1],ps->s[2]);	
	}
	int MenuChoice(void) //菜單提示讀取菜單選項值
	{	printf("\nEnter choice as bellow:\n"
				"1. store  a formatted file\n" 
				"2. update a record\n"
				"3. clear  a record\n" 
				"4. end program?\n");
		int k;
		scanf("%d",&k);
		return k;
	}
	int main()
	{	int n;
		STudent* ps=Produce(n);                   //產生一個磁盤文件student.dat
		for(int k=0;k<n;k++)                      //循環顯示結果
           Show(ps+k,k); 
		FILE* fp=fopen("student.dat","r+");          //以讀或寫方式打開已存在的文件
		if(fp==NULL) 
         {printf("fopen r+ failed\n");return 1;} 
		int menu;
		while((menu=MenuChoice())!=4)            //選項4跳出循環
         {	switch(menu)
            {case 1:  //選向1用函數Store將格式化的結構數組存儲到STudent.txt文件中
				Store(fp,n);	break;
			case 2:   //選向2用函數Update更新下一步選定的數組元素
				Update(fp,n);	break;
			case 3:   //選項3用函數Clear將下一步選定的數組元素清0
				Clear(fp,n);	break;		
			}	
		}
		fclose(fp);          //關閉流文件
		return 0;
	}





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情一区二区三区桃花岛亚洲| 亚洲第一电影网| 日韩亚洲欧美一区| 91精品久久久久久久久99蜜臂| 欧美在线视频你懂得| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 不卡高清视频专区| 成人一道本在线| 国产91在线观看| 成人听书哪个软件好| 成人免费看视频| 91免费观看视频| 欧洲国内综合视频| 欧美高清精品3d| 日韩欧美国产综合| 国产欧美精品区一区二区三区 | 91精品国产一区二区三区| 欧美日韩国产电影| 日韩欧美一二三四区| 欧美成人女星排名| 欧美激情在线一区二区三区| 欧美激情综合网| 亚洲国产综合人成综合网站| 日韩av午夜在线观看| 国产精品一线二线三线精华| 成人午夜免费视频| 欧美日韩一区三区| 久久精品人人做人人综合| 国产精品久久毛片av大全日韩| 亚洲激情五月婷婷| 日本vs亚洲vs韩国一区三区二区 | 亚洲精品久久久久久国产精华液| 亚洲小说欧美激情另类| 另类综合日韩欧美亚洲| 成人开心网精品视频| 欧美日本国产视频| 欧美国产综合一区二区| 亚洲成人动漫一区| 不卡一区二区中文字幕| 欧美一级片在线看| 中文字幕一区二区三区精华液| 婷婷六月综合网| 风间由美一区二区三区在线观看| 欧美日韩日日摸| 国产欧美精品区一区二区三区| 亚洲成人免费av| jiyouzz国产精品久久| 91麻豆精品国产91| 玉米视频成人免费看| 高清在线成人网| 精品久久久久久最新网址| 亚洲精品乱码久久久久久日本蜜臀| 国内成人精品2018免费看| 欧洲视频一区二区| 亚洲同性同志一二三专区| 国模大尺度一区二区三区| 欧美图片一区二区三区| 成人欧美一区二区三区黑人麻豆| 麻豆成人91精品二区三区| 欧美视频一区在线| 亚洲综合色在线| 91丨porny丨首页| 国产精品欧美经典| 成人亚洲一区二区一| 久久久久久久久久久久久女国产乱 | 美女视频一区在线观看| 在线观看国产一区二区| 国产精品伦一区二区三级视频| 久久国产视频网| 91精品国产全国免费观看| 一区二区三区在线观看欧美| gogogo免费视频观看亚洲一| 国产午夜精品在线观看| 久久99九九99精品| 久久影音资源网| 国内成+人亚洲+欧美+综合在线| 日韩欧美国产精品一区| 奇米777欧美一区二区| 欧美一级搡bbbb搡bbbb| 精品一区二区三区免费| 精品剧情v国产在线观看在线| 久久99精品国产麻豆婷婷洗澡| 欧美一级午夜免费电影| 美腿丝袜在线亚洲一区| 精品国产在天天线2019| 精品一区二区三区av| 欧美大片在线观看一区| 老司机精品视频线观看86| 久久婷婷久久一区二区三区| 激情综合网激情| 2014亚洲片线观看视频免费| 国产一区二区在线影院| 国产精品天天看| 在线观看国产91| 美女视频网站黄色亚洲| 国产欧美视频一区二区| 99免费精品视频| 午夜亚洲福利老司机| 欧美变态tickle挠乳网站| 成人免费电影视频| 亚洲综合在线免费观看| 日韩一区二区三区电影| 国产成人免费9x9x人网站视频| 《视频一区视频二区| 欧美午夜影院一区| 极品少妇xxxx精品少妇| 自拍视频在线观看一区二区| 在线观看91av| 国产91对白在线观看九色| 午夜欧美视频在线观看 | 国产成人高清在线| 亚洲免费av观看| 精品欧美久久久| 欧美综合天天夜夜久久| 久久se这里有精品| 依依成人综合视频| 国产亚洲欧美在线| 欧美精品在线观看播放| 国产超碰在线一区| 日韩高清在线观看| 亚洲精品国产精品乱码不99 | 亚洲日本乱码在线观看| 日韩一级片网站| 欧美综合在线视频| 成人综合婷婷国产精品久久免费| 天堂在线一区二区| 一区二区三区在线视频免费观看 | 亚洲欧美日韩国产综合在线| 欧美成人综合网站| 欧美乱熟臀69xxxxxx| 9i看片成人免费高清| 国产成人免费视频网站高清观看视频 | 免费不卡在线视频| 亚洲高清三级视频| 亚洲专区一二三| 一区二区三区日韩| 综合在线观看色| 国产精品理论在线观看| 久久久国产午夜精品| 精品盗摄一区二区三区| 日韩亚洲欧美在线| 69堂亚洲精品首页| 69堂精品视频| 91精品国产综合久久福利 | 精品写真视频在线观看| 日日摸夜夜添夜夜添精品视频| 亚洲免费在线观看| 亚洲欧美aⅴ...| 亚洲人成伊人成综合网小说| 欧美激情资源网| 国产精品护士白丝一区av| 久久精品亚洲精品国产欧美| 久久亚区不卡日本| 国产三级欧美三级| 中文字幕一区二区三| 国产精品久久久久久久久果冻传媒| 国产亚洲欧美一区在线观看| 亚洲国产精品t66y| 国产精品久久久久影院亚瑟| 国产精品久久久久久久第一福利| 欧美国产精品中文字幕| 最新日韩在线视频| 亚洲在线免费播放| 日韩精品成人一区二区三区| 日韩国产欧美一区二区三区| 老鸭窝一区二区久久精品| 久久精品国产亚洲5555| 精品一区二区三区在线观看 | 午夜视频在线观看一区二区| 亚洲专区一二三| 蜜桃视频一区二区三区| 久久成人综合网| 韩国成人在线视频| 成人丝袜视频网| 91成人网在线| 欧美精品亚洲一区二区在线播放| 欧美一区二区三区视频免费| 欧美精品777| 久久精品亚洲精品国产欧美kt∨| 国产精品久久久久影院| 亚洲精品久久久久久国产精华液| 五月激情综合色| 国产精品456| 在线观看一区不卡| 久久日一线二线三线suv| 国产精品久久久久久久午夜片 | 中文字幕 久热精品 视频在线 | 免费成人在线观看| 高清国产一区二区三区| 91一区二区在线观看| 4438成人网| 国产午夜精品一区二区三区嫩草| 亚洲美女屁股眼交| 久久99久久久久久久久久久| 色哟哟国产精品| 久久久高清一区二区三区| 亚洲第四色夜色| 色综合天天做天天爱| 精品福利二区三区| 亚洲五码中文字幕|