分配内存空间,然后读取
#include
#include
intfileength(FILE*fp);
char*readfile(char*path);
intmain(void)
{
FILE*fp;
char*string;
string=readfile("c:/c.c");
printf("读取完成\n按任意键释放资源内存\n");
//printf("%s\n",string);
系统("暂停");
return0;
}
char*readfile(char*path)
{
FILE*fp;
intlength;
char*ch;
if((fp=fopen(path,"r"))==NULL)
<{
printf("openfile%serror.\n",path);
输出(0);
}
length=filelength(fp);
ch=(char*)malloc(length);
fread(ch,length,1,fp);
*(ch+length-1)='\0';
返回;
}
intfileength(FILE*fp)
{
整数;
fseek(fp,0,SEEK_END);
num=ftell(fp);
fseek(fp,0,SEEK_SET);
returnnum;
}
扩展信息
cLinux处理器间通信共享内存:
#include"comm.h"
staticintcommShm(intsize,intflags)//创建共享内存
<{
key_tkey=ftok(PATHNAME,PROJ_ID);
if(key<0){
error("ftok");
return-1;
}
intshmid=shmget(key,size,flags);
if(shmid<0){
error("shmget");
return-2;
}
returnshmid;
}
intcreateShm(intsize)
{
returncommShm(size,IPC_CREAT|IPC_EXCL);
}
}
intgetShm(intsize)//获取共享内存
returncommShm(size,IPC_CREAT);
}
intdestoryShm(intshmid)//销毁共享内存
{
if(shmctl(shmid,IPC_RMID,NULL)<0){
错误("shmctl");
return-3;
}
}
上一篇:什么手机内存大
下一篇:手机运行内存是什么意思