Comment puis-je convertir un ```` en c '?
Réponses
Trop de publicités?Vous pourriez utiliser stringstream.
Il ya généralement quelques fonctions C propriétaires dans la bibliothèque standard pour votre compilateur qui le fait aussi. Je préfère les variantes plus "portable" si.
La façon C de le faire serait avec sprintf, mais ce n'est pas très sûr. Dans certaines bibliothèques, il existe de nouvelles versions comme sprintf_s qui protège contre les dépassements de mémoire tampon.
Je ne sais pas quel genre de devoirs, mais plus probablement l'enseignant ne veulent pas de réponse lorsque vous appelez une "magique" d'une fonction existante (même si c'est la méthode recommandée pour le faire), mais il veut voir si vous pouvez mettre en œuvre ce par votre propre.
Retour dans les jours, mon professeur disait quelque chose comme "je veux voir si vous pouvez programmer vous-même, pas si vous pouvez le trouver dans le système." Eh bien, comment faux il était ;) ..
De toute façon, si votre professeur est le même, ici est la manière difficile à faire..
std::string LongToString(long value)
{
std::string output;
std::string sign;
if(value < 0)
{
sign + "-";
value = -value;
}
while(output.empty() || (value > 0))
{
output.push_front(value % 10 + '0')
value /= 10;
}
return sign + output;
}
On pourrait dire que l'utilisation d' std::string
n'est pas "à la dure", mais je suppose que ce qui compte dans le réel agorithm.