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

📄 readf.c

📁 API
💻 C
字号:
#include	"../incl/mytools.h"



fmtread ( fname, fmt, va_alist )

char	* fname;
char	* fmt;

va_dcl

{
	va_list	args;
	FILE	* fp;
	void	(* pvar)[ PARAN ];
	int	col = line = i = mark = 0;

	va_start ( args );



	while ( fmt[ i ] != '\0' && col < PARAN ) {
		switch ( mark ) {
		case	0:
			if ( fmt[ i ] == '%' ) mark = 1;
			break;
		case	1:
			switch ( fmt[ i ] ) {
			case	's':
				pvar[ col++ ] = va_arg ( args, char * );
				mark = 0;
				break;
			case	'd':
				pvar[ col++ ] = va_arg ( args, int * );
				mark = 0;
				break;
			}
			break;
		}
		i++;
	}
	if ( col == 0 )	return ( -1 );


	fp = fopen ( fname, "r" );
	if ( fp == NULL )	return ( -1 );	

	i = 0;
	while( i< MAX_WORKERS  &&  fgets( buf, 80, fp ) != NULL ) {
		
	        if ( buf[ 0 ] == '#' || buf[ 0 ] == '\n' )
			continue;			/* 注释行空行 */
		sscanf( buf, "%s%s%s%s%s%s%s\n",
			wks[ i ].manager_id,	wks[ i ].worker_4,
			wks[ i ].worker_5,	wks[ i ].passwd,
			wks[ i ].rank,		wks[ i ].note,
			wks[ i ].active );
		wks[ i ].busy[ 0 ] = '0';
		if ( wks[ i ].active[ 0 ] == '0' ) 	/* signoff */
			memset( ( char * )&wks[ i ], '\0', sizeof( WORKER ) );
		else	i++;
		
	}

	fclose( fp );
	va_end ( args );
}

⌨️ 快捷键说明

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