⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tofmt.c

📁 FERET人脸库的处理代码。内函预处理
💻 C
字号:
/*________________________________________________________________  tofmt.c  Ali J. Azarbayejani 17 March 1994 (originated)  CONTENTS:  DESCRIPTION:  ________________________________________________________________*/#include <stdio.h>#include <stdlib.h>struct {  char	*progname;  int	verbose;  char	*fmt;  float	value;  int	use_stdin;}params = {  "", 0, "%d", 0., 0};static char *flags = "[-v] [-fmt <string>] [ [-] | [#] ]";static char *io    = "< stream > stream";static char *help  = "";static void  alert( char *s ){  fprintf( stderr, "%s: %s\n", params.progname, s );}static void  error( char *s ){  alert( s );  exit( -1 );}static void  usage( int argc, char **argv ){  fprintf( stderr, "usage: %s %s\n\t%s\n%s", argv[0], flags, io, help );  exit(-1);}static void  parse_command_line( int argc, char **argv ){  int		i;  params.progname = argv[0];  for(i=1; i<argc; i++) {    if( !strcmp(argv[i], "-v") )      params.verbose = 1;    else if( !strcmp(argv[i], "-fmt") )      params.fmt = argv[++i];    else if( !strcmp(argv[i], "-") )      params.use_stdin = 1;    else if( !strcmp(argv[i], "-help") )      usage( argc, argv );    else      params.value = atoi( argv[i] );  }}main( int argc, char **argv ){  /* Main variables */  /* First command */  parse_command_line( argc, argv );  if( params.use_stdin )    scanf( "%g", &params.value );  switch( params.fmt[ strlen(params.fmt)-1 ] ) {   case 'd':    if( params.verbose ) fprintf( stderr, "Integer\n" );    printf( params.fmt, (int) params.value );    break;   case 'f': case 'g':    if( params.verbose ) fprintf( stderr, "Float\n" );    printf( params.fmt, params.value );    break;   default:    fprintf( stderr, "Bad format type\n" );  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -