Hola
Estoy trabajando en una aplicación en C++ y usando una BD de SQLite y tengo una pequeña duda.
Siguiendo un ejemplo de la página oficial de SQLite, he hecho este código
-  /**************************************************************************/ 
- int Callback(void *NotUsed, int argc, char **argv, char **azColName){ 
-      
-    //Los que sea que haga 
-    return 0; 
- } 
-      
- /**************************************************************************/ 
- Users::Users(string name, string pass){ 
-    sqlite3* db; 
-    char *zErrMsg = 0; 
-      
-    int rc = sqlite3_open("bd/project.bd", &db); 
-    if (rc != SQLITE_OK){ 
-       cout << sqlite3_errmsg(db) << endl << endl; 
-       sqlite3_close(db); 
-       exit(1); 
-    } 
-      
-    string select = "SELECT * FROM user WHERE username='" + name + "' and userpass='" + pass + "'"; 
-    rc = sqlite3_exec(db, select.c_str(), Callback, 0, &zErrMsg); 
-    if (rc != SQLITE_OK){ 
-       fprintf(stderr, "SQL error: %sn", zErrMsg); 
-       sqlite3_free(zErrMsg); 
-    } 
-     
-    sqlite3_close(db); 
- } 
-   
Cuando lo ejecuto funciona perfectamente. Si existe el usuario, se muestra y si no existe no, el problema es si quiero hacer algo en especal cuando este usuario no existe, pues aparentemente no hay ningún tipo de variable o función que me lo indique, pero por lógica debería de haberla. 
Así pues ¿existe alguna variable o función que me diga si la consulta a sido vacía?