本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[QC]scanf,sscanf,fscanf関数のデリミタ指定で'-'が使用できない

文書番号: 402137

最終更新日: 1998/03/23


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402137

概要

この資料は、scanf、sscanf、fscanf 関数のデリミタ指定における障害について説明した ものです。

詳細

空白文字で区切られていない文字列を読み込むために、型指定子の変わりに大かっこ ([]) で囲んだ文字列群を指定する事ができますが、コードが連続する文字群を省略して 指定する拡張機能の '-' が正しく機能しません。

再現プログラム

  #include  <stdio.h>
  void  main(void)
  {
      char  num[8], alpha[10];
      sscanf("1234ABCDEF", "%[0-9] %[A-Za-z]", num, alpha);
      printf("num = %s  alpha = %s\n", num, alpha);
  }
  //  正しい出力結果
  //  num = 1234  alpha = ABCDEF

原因

scanf,sscanf,fscanf 関数の障害です。

対処方法

'-'による省略をせず、[0-9]、[a-z] を [0123456789]、[abcdefghijklmnopqrstuvwxyz] のように記述してください。

詳細

  • QuickC は、米国 Microsoft Corporation の登録商標です。

Keywords: KBBUG KB402137
Technology: kbAudDeveloper kbCCompSearch kbQC200 kbZNotKeyword3

inserted by FC2 system