請看這個例子:
FILE *open_err_file( char *name )
{
char *buffer;
/* allocate temporary buffer for file name */
buffer = (char *)alloca( strlen( name ) + 5 );
if( buffer ) {
FILE *fp;
sprintf( buffer, "%s.err", name );
fp = fopen( buffer, "w" );
return fp;
}
return (FILE *)NULL;
}
int main( void )
{
FILE *fp;
if((fp = open_err_file( "err_name" ))<0) {
printf( "Unable to open error file\n" );
return(1);
} else {
fprintf( fp, "Hello from the alloca test.\n" );
fclose( fp );
}
return EXIT_SUCCESS;
}
FILE *open_err_file( char *name )
{
char *buffer;
/* allocate temporary buffer for file name */
buffer = (char *)alloca( strlen( name ) + 5 );
if( buffer ) {
FILE *fp;
sprintf( buffer, "%s.err", name );
fp = fopen( buffer, "w" );
return fp;
}
return (FILE *)NULL;
}
int main( void )
{
FILE *fp;
if((fp = open_err_file( "err_name" ))<0) {
printf( "Unable to open error file\n" );
return(1);
} else {
fprintf( fp, "Hello from the alloca test.\n" );
fclose( fp );
}
return EXIT_SUCCESS;
}