C での失敗処理を使用した文字列の整数への変換
C で文字列を扱うとき、数値表現に変換する必要が生じることがよくあります。整数など。これに対する一般的なアプローチの 1 つは、C 標準ライブラリの std::stoi 関数を使用することです。ただし、この関数には変換の失敗を報告する機能がありません。より堅牢なコードについては、boost::lexical_cast と別のアプローチを使用して失敗した変換を処理する方法を検討します。
boost::lexical_cast
boost::lexical_cast 関数文字列を整数に変換する堅牢な方法を提供します。変換を実行できない場合は例外がスローされます。次のコード スニペットは、その使用法を示しています:
<code class="cpp">#include <boost/lexical_cast.hpp> try { int i = boost::lexical_cast<int>(s); // ... } catch(...) { // ... }</code>
非ブースト アプローチ
ブースト ライブラリが利用できない場合は、代替方法を使用できます:
要約すると、boost::lexical_cast、std::stringstream、またはカスタム lexical_cast 関数を使用すると、失敗処理機能を備えた文字列から整数への堅牢な変換が可能になります。正しい選択は、ライブラリの可用性と必要な例外動作によって異なります。
以上がC で文字列から整数への変換エラーを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。