J'utilise la valeur json que je reçois de ma fonction .get (film) pour obtenir les valeurs de chacune des clés de mon objet film json. J'essaye de le sortir dans des champs dans une interface graphique de fltk, qui doit être le type const de char. Cependant, je reçois des caractères étranges au lieu de mes valeurs. Y a-t-il un problème évident ici?Obtention de caractères étranges dans les champs avec la sortie de json C++
Json::Value result = m.get(movie);
std::cout << result << endl;
const char *released = result.get("Released", "NULL").asCString();
releasedInput->value(released);
const char *rated = result.get("Rated", "NULL").asCString();
ratedInput->value(rated);
Json::Value actors = result.operator[]("Actors");
const char *plot = result.get("Plot", "NULL").asCString();
plotMLIn->value(plot);
const char *runtime = result.get("Runtime", "NULL").asCString();
runtimeInput->value(runtime);
Json::Value genre = result.operator[]("Genre");
const char *filename = result.get("Filename", "NULL").asCString();
filenameInput->value(filename);
const char *title = result.get("Title", "NULL").asCString();
titleInput->value(title)
J'ai collé uniquement les lignes pertinentes dans ma fonction. Si plus de clarification est nécessaire, je suis heureux de le fournir.
Avez-vous essayé le débogage de votre code? Essayé de parcourir le code, ligne par ligne, dans un débogueur, tout en surveillant les variables et leurs valeurs? Quelles chaînes ont tort? * Comment * ont-ils tort? Quels textes attendiez-vous et qu'obtenez-vous réellement? –
Pour # 1, quand j'utilisais std :: string, j'ai reçu le message d'erreur qu'ils devaient être de type const char * donc je l'ai changé. Pour le n ° 2, c'est parce que je suis en train d'apprendre cela et, à partir de la documentation, il semblait que c'était la chose à faire. – Kendra
Oh et pourquoi appelez-vous explicitement 'operator []' en tant que fonction? Pourquoi pas, par exemple 'result [" Acteurs "]'? –