データベースからIntegers
を読まなければならないという問題があります。変数はStrings
として返され、""
,"0"
,"1"
,"2"
または"3"
(これらは私がこれまで見てきたものです)とすることができます。 したがって、標準atoi
関数を使用すると、私は""
と"0"
を区別することができないので役に立ちません。整数かどうかチェック
誰かがこれを解決する良い解決策を持っていますか?
よろしく、 ステファン
EDIT:
""、 "0"、 "1"、 "2" または "3" は、私がこれまで見てきた唯一の可能性はありません。誰かが "Hello World"をフィールドに書いている可能性もあります!!!
int main()
{
std::stringstream tmp;
tmp << ""; //This would be the string from the database
int x;
if (tmp >> x)
{
//We won't get here
std::cout << x << std::endl;
}
VS:
最初に文字列が空であることを確認します。 –
@Kerrek:+1。ここには1つの特別なケースしかありませんが、それはチェックするのに莫大な負担ではありません。 –