打印本文 打印本文  关闭窗口 关闭窗口  
void*alloca()中不懂的
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:56:45  文章录入:杜斌  责任编辑:杜斌

  请看这个例子:

  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;
  }

打印本文 打印本文  关闭窗口 关闭窗口