zoukankan      html  css  js  c++  java
  • fread fwrite 读写文本文件(MFC 应用程序)

     /*
    	FILE * stream;
    	char buf[20];
    	 memset(buf,0,20); //初始化内出
    
    	if((stream=fopen("G:\\123.txt","r"))==NULL)
    	{
           TRACE("打开文件失败!");
    	   return;
    	}
        TRACE("read finish");
    	fseek(stream,0,0);
    	fread(buf,1,20,stream);
        fclose(stream);
    		TRACE("%s",buf);*/
    		     //第一种方法  必须 初始化内存!!!!!!!要不然为烫烫烫烫烫 烫烫烫  乱码   
    	/*
    	FILE * stream;
    	char buf[20];
    	memset(buf,0,20); //初始化内出
    
    	if((stream=fopen("G:\\123.txt","r"))==NULL)
    	{
           TRACE("打开文件失败!");
    	   return;
    	}
        TRACE("read finish");
    	fseek(stream,0,0);
    //	fread(buf,1,20,stream);
    	int i=0;
    	while(!feof(stream))
    	{
    		fread(&buf[i],sizeof(char),1,stream);
    	i++;
    	}   
        fclose(stream);
    	TRACE("%s",buf);
        //************第二种 一个一个读 
    	*/
    
    	
    
    //FILE* pFile=fopen("G:\\123.txt","r");//这里加载一个PE文件    
    //fseek(pFile, 0, SEEK_END);   
    //int len = ftell(pFile);   
    //char* szBuf=new char[len+1]; 
    ////memset(szBuf,0,len);  
    //fseek(pFile, 0, SEEK_SET);  
    //int iRead=fread(szBuf,1,len,pFile);
    //szBuf[len]=0;
    // fclose(pFile);
    //	TRACE("%s",szBuf);
    //	//delete szBuf;//释放内存
    // TRACE("%d",iRead);
    	  //**************************************第三种方法
                    没有问题 但是 当有换行时  最后有一个 “屯” 字符不知道为什么?单行是正确的 
    
    
    FILE *fp;
    int flen;
    char *p;
    if((fp=fopen("G:\\A5.txt","r"))==NULL)
    {
    	return ;
    
    }
    fseek(fp,0,SEEK_END);
    flen=ftell(fp);
    p=(char*)malloc(flen+1);
    if(p==NULL)
    {
        fclose(fp);
    
    }
    fseek(fp,0,SEEK_SET);
    fread(p,flen,1,fp);
    p[flen]=0;
    TRACE("%s",p);
    fclose(fp);
    //free(p);
      //**************************第四种 方法 
    
     FILE *wfile;
     wfile=fopen("G:\\A56.txt","wt+");
     if(wfile==NULL)
     {
       TRACE("create file error");
       return;
     }
     int num=fwrite(p,1,strlen(p),wfile);
     fclose(wfile);
    
     int size=strlen(p);
     TRACE("大小是:\n");
     TRACE("%d",size);
    
     TRACE("写入的数量\n");
     TRACE("%d",num);
    
    }
    

    最后 写文件 必须是   wfile=fopen("G:\\A56.txt","wt+");  中"wt+"形式的文本文件!不能是二进制文件

    不知道 第三种 读的时候 有多行时,最后一个字符为"屯”  为什么是 啊,单行正确

  • 相关阅读:
    ffmpeg-3.2.4-static-win32-for-XP-bin.tar.xz
    FFmpeg Scaler Options
    MinGW GCC 6.3.0 2017年3月份出炉啦
    ffmpeg-201701[10,16,21,23,25]-bin.7z
    ffmpeg-201612[01,08,10,17,21,27,30]-bin.7z
    Firefox Portable Developer 52.0.0.6176-6178
    DIR 按文件名中数字大小进行排序
    ffmpeg-20161104[07,10,16,21,22,27,30]-bin.7z
    gnuWin32-mini-2016.10.30
    gnu coreutils-8.25 for win32 static
  • 原文地址:https://www.cnblogs.com/marky/p/2496827.html
Copyright © 2011-2022 走看看