单步执行时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) : "";
有什么方法可以更简洁地表达第二个表达式吗?我必须重复做很多这些,所以我正在寻找简洁。
我知道这是控制流的问题,而不是 SQLite API 本身的问题,但是你有它。我想不出一个好的方法来做到这一点。