En ce moment, je travaille avec des systèmes embarqués et je trouve des moyens d'implémenter des chaînes sur un microprocesseur sans système d'exploitation. Jusqu'à présent, ce que je fais est simplement d'utiliser l'idée d'avoir des pointeurs de caractères terminés par NULL et de les traiter comme des chaînes où NULL signifie la fin. Je sais que c'est assez courant, mais pouvez-vous toujours compter sur cela pour être le cas?
La raison pour laquelle je demande, c'est que je pensais peut-être à un moment donné utiliser un système d'exploitation en temps réel, et j'aimerais réutiliser autant que possible mon code actuel. Donc, pour les différents choix qui existent, puis-je m'attendre à peu près à ce que les chaînes fonctionnent de la même manière?
Permettez-moi cependant d'être plus précis pour mon cas. J'implémente un système qui prend et traite les commandes sur un port série. Puis-je conserver mon code de traitement des commandes de la même manière, puis m'attendre à ce que les objets chaîne créés sur le RTOS (qui contient les commandes) soient tous terminés NULL? Ou serait-ce différent en fonction du système d'exploitation?
Mise à jour
Après avoir été invité à jeter un œil à cette question, j'ai déterminé qu'elle ne répond pas exactement à ce que je demande. La question elle-même demande si une longueur de chaîne doit toujours être transmise, ce qui est entièrement différent de ce que je demande, et bien que certaines des réponses contenaient des informations utiles, elles ne sont pas exactement ce que je recherche. Les réponses semblent donner des raisons pour lesquelles ou pourquoi ne pas terminer une chaîne avec un caractère nul. La différence avec ce que je demande, c'est si je peux plus ou moins m'attendre à ce que les chaînes innées de différentes plates-formes terminent leurs propres chaînes avec null, sans avoir à sortir et essayer chaque plate-forme là-bas si cela a du sens.