をステップスルーするとき、戻り値を格納して格納された値と照合するのではなくsqlite3_stmt
、の戻り値と照合したいと思います。NULL
これが私が今していることです:
char *email = (char *)sqlite3_column_text(statement, 10);
if (email == NULL) email = "";
そして、これが私がやりたいことですが、次の二重呼び出しを除いたものcolumn
です:
char *email = ((char *)sqlite3_column_text(statement, 10)) ? (char *)sqlite3_column_text(statement, 10) : "";
2番目の表現をより簡潔に表現する方法はありますか?私はこれらの多くを繰り返し行う必要があるので、簡潔さを探しています。
これはSQLiteAPI自体の問題ではなく、制御フローの問題であることを私は知っていますが、そこにあります。私はこれを行うための良い方法を考えることができません。