void*alloca()中不懂的
请看这个例子:
FILE * open _ err _ FILE(char * name)
{
char * buffer;
/*为文件名分配临时缓冲区*/
buffer =(char *)alloca(strlen(name)+5);
if(buffer){
FILE * FP;
sprintf( buffer," %s.err ",name);
fp = fopen( buffer," w ");
返回FP;
}
return(FILE *)NULL;
}
int main(void)
{
FILE * FP;
if((FP = open _ err _ file(" err _ name "))printf("无法打开错误文件\ n ");
return(1);
} else {
fprintf( fp," Hello from alloca test。\ n ");
f close(FP);
}
返回EXIT _ SUCCESS
}
0条评论