C++ est très pratique dans la plupart des projets, mais il suffit parfois de l'intégrer aux fonctions de style C existantes.Intégration de C++ dans l'infrastructure C
Comment faites-vous cela d'une manière ordonnée, surtout si vous travaillez avec des chaînes de caractères?
J'avais une idée que je pouvais utiliser construire comme ceci:
std::string buffer;
buffer.resize(1024);
GetBackCStyleString(&buffer[0], 1024);
Mais cela pose des problèmes de longueur de chaîne, car elle renvoie la longueur redimensionnée. Existe-t-il un meilleur moyen d'intégrer les fonctions C dans le code C++?
@BenVoigt: Et c'est garanti indirectement en C++ 03, grâce à quelques bogues standards. :) –
De plus, '& buffer [0]' préserve const-justity et 'const_cast (buffer.c_str())' ne le fait pas. –
@Tomalek, pouvez-vous expliquer votre commentaire? Comment C++ 03 garantit-il indirectement un tampon de chaînes inscriptible? –