C++ équivalent de sscanf?
J'ai été en utilisant sscanf
et je pense que j'ai eu trop à l'aise avec elle. Apparemment, il est déconseillé de trop et que je devrais utiliser sscanf_s
, ce qui n'est pas pour autant que je sais. Donc je me demandais si le TSL a un idiomatiques C++ de remplacement de la même chose?
Grâce
Je fais:
sscanf(it->second->c_str(),"%d %f %f %f %f %f %f %d \" %[^\"] \" \" %[^\"]",
&level, &x, &y, &angle, &length, &minAngle, &maxAngle, &relative, name,parentName);
sscanf
n'est pas vraiment obsolète. Il est, cependant, pas recommandé en C++.sscanf_s
est un VC++ extension.- Vous utilisez VC10? Définir _CRT_SECURE_NO_WARNINGS dans vos pages de propriétés et être fait avec elle.
- Bah! Le
*_s
fonctions sont pour ceux qui devraient être de la programmation en BASIC. Apprenez à utiliser vos outils. Sinon, ne pas les utiliser du tout. Dans tous les cas, le C++ équivalent àsscanf
estsscanf
🙂
Vous devez vous connecter pour publier un commentaire.
La mise en forme n'est pas aussi facile, mais regardez la
stringstream
. Voir aussiistringstream
etostringstream
pour l'entrée et la sortie des tampons de mise en forme.En C++, le summum de l'analyseur coup de pouce.Qi
Vous pouvez essayer d'utiliser stringstream. Il est beaucoup plus puissant que sscanf et sert.
Je crois stringstreams sont ce que vous cherchez.
par exemple:
Si vous utilisez un compilateur avec assez de C++0x soutien, il est facile d'écrire un type-safe
scanf()-style
fonction... lire laprintf()
exemple à http://en.wikipedia.org/wiki/C%2B%2B0x pour obtenir vous avez commencé....