В приведенном ниже коде pathToNonDatabase - это путь к простому текстовому файлу, а не к реальной базе данных sqlite. Я надеялся на sqlite3_open, чтобы обнаружить это, но он не (db не NULL, а result - SQLITE_OK). Итак, как обнаружить, что файл не является допустимой базой данных sqlite?
sqlite3 *db = NULL;
int result = sqlite3_open(pathToNonDatabase, &db);
if((NULL==db) || (result!=SQLITE_OK)) {
// invalid database
}