【发布时间】:2013-02-13 19:20:21
【问题描述】:
在单步执行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 本身的问题,但是你有它。我想不出这样做的好方法。
【问题讨论】:
-
还有必须关于这个的另一个问题,但我就是找不到。
标签: c variable-assignment conditional-operator