📄 readf.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 + -