文書番号: 11558
最終更新日: 2004/01/23
この資料は以下の製品について記述したものです。
- Microsoft C for MS-DOS
- Microsoft C for OS/2
- Microsoft C/C++ for MS-DOS
- Microsoft Visual C++ 1.0
- Microsoft Visual C++ 1.5
- Microsoft Visual C++ 1.51
- Microsoft Visual C++ 1.52
- Microsoft Visual C++ 2.0
- Microsoft Visual C++ 2.1
- Microsoft Visual C++ 4.0
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Enterprise Edition 6.0
- Microsoft Visual C++, 32-bit Professional Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 6.0
- Microsoft Visual C++, 32-bit Learning Edition 6.0
概要
Microsoft C または C/C++ で開発するアプリケーションで、数字から成る文字列を浮動小数点数に変換する際、atof() 関数の代わりに sscanf() 関数を使うことができます。文字列が有効な数を表していない場合、atof() では値ゼロが返りますが、sscanf() ではより有用なエラー情報が返されます。アプリケーションは、matherr() 関数で sscanf() からのエラー値を使ってエラー処理を実行することができます。atof() 関数では、実際の数値演算例外が発生しない限り matherr() が呼び出されません。
下記は、文字列を浮動小数点数に変換する際に推奨される 2 つの方法を示したものです。
-
atof() 関数を呼び出す前に、変換する文字列が有効であることを確認します。数を表す文字以外の文字がその文字列に含まれていないこと、小数点や正負符号が正しい位置にあることを確かめてください。
-
sscanf() 関数を使用します。この関数では atof() 関数よりも処理が遅くなりますが、エラーが発生したときにはより有用な情報が得られます。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 11558 (最終更新日 2001-11-14) をもとに作成したものです。
Keywords: JPTRF kbHOWTOmaster KB11558
Technology: kbAudDeveloper kbCCompSearch kbvc100 kbvc150 kbVC151 kbVC152 kbVC200 kbVC210 kbVC32bitSearch kbVC400 kbVC500 kbVC500Search kbVC600 kbVCsearch kbZNotKeyword3 kbZNotKeyword8