·一周点击排行
·热点推荐
您的位置:首页 >> 计算机 » 等级考试 » void*alloca()中不懂的 >> 正文

void*alloca()中不懂的

发布时间:2008-2-18 9:50:00 浏览次数: 688

请看这个例子:

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


讨论此主题请进>>: void*alloca()中不懂的