请看这个例子:
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; }
|