跳轉到內容

C++ 程式設計/程式碼/標準 C 庫/函式/vscanf、vfscanf 和 vsscanf

來自華夏公益教科書,開放的書籍,開放的世界

vscanf、vfscanf 和 vsscanf

[編輯 | 編輯原始碼]
語法
#include <cstdarg>
#include <cstdio>
int vscanf( const char *format, va_list arg_ptr );
int vfscanf( FILE *stream, const char *format, va_list arg_ptr );
int vsscanf( const char *buffer, const char *format, va_list arg_ptr );

注意
並非所有庫都支援這些函式。

這些函式與 scanf()、fscanf() 和 sscanf() 非常相似。區別在於引數列表是指向引數列表的指標。va_list 在 cstdarg 中定義,也用於(其他標準 C 函式)va_arg()。

例如

void error( char *fmt, ... ) {
  va_list args;
  va_start( args, fmt );
  fprintf( stderr, "Error: " );
  vfprintf( stderr, fmt, args );
  fprintf( stderr, "\n" );
  va_end( args );
  exit( 1 );
}
華夏公益教科書