/*
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+"形式的文本文件!不能是二進制文件
不知道 第三種 讀的時候 有多行時,最后一個字符為"屯” 為什么是 啊,單行正確
