SOCK_PRN.C
上传用户:sunrenlu
上传日期:2022-06-13
资源大小:1419k
文件大小:1k
源码类别:

操作系统开发

开发平台:

DOS

  1. #include <copyright.h>
  2. #include <wattcp.h>
  3. #include <stdio.h>
  4. #include <stdarg.h>
  5. #include <string.h>
  6. /* socket based stuff */
  7. static char buffer[ tcp_MaxBufSize ];
  8. int sock_printf( sock_type *s, char *format, ... )
  9. {
  10.     va_list argptr;
  11.     int length;
  12.     va_start( argptr, format );
  13.     vsprintf( buffer, format, argptr );
  14.     va_end( argptr );
  15.     if ( (length = strlen( buffer )) > tcp_MaxBufSize ) {
  16. outs("ERROR: tcp sock_Printf overrunnr");
  17. return( 0 );
  18.     }
  19.     sock_puts( s, (byte *)buffer );
  20.     return( length );
  21. }
  22. /*
  23.  * sock_scanf - return number of fields returned
  24.  */
  25. int sock_scanf( sock_type *s, char *format, ... )
  26. {
  27.     va_list argptr;
  28.     char buffer[ tcp_MaxBufSize ];
  29.     int fields;
  30.     int status;
  31.     fields = 0;
  32.     while (!( status = sock_dataready( s ))) {
  33. if (status == -1) return( -1 );
  34.     if ( (fields = sock_gets( s, (byte *)buffer, tcp_MaxBufSize )) != 0 ) {
  35.     va_start( argptr, format );
  36.     fields = vsscanf( buffer, format, argptr );
  37.     va_end( argptr );
  38. }
  39.     }
  40.     return( fields );
  41. }