No momento, estou trabalhando com sistemas embarcados e descobrindo maneiras de implementar seqüências de caracteres em um microprocessador sem sistema operacional. Até agora, o que estou fazendo é apenas usar a idéia de ter ponteiros de caracteres terminados em NULL e tratá-los como cadeias de caracteres em que o NULL significa o fim. Eu sei que isso é bastante comum, mas você pode sempre contar com esse para ser o caso?
A razão pela qual pergunto é que estava pensando em usar um sistema operacional em tempo real em algum momento e gostaria de reutilizar o máximo possível meu código atual. Então, para as várias opções disponíveis, posso esperar que as strings funcionem da mesma forma?
Deixe-me ser mais específico, porém, para o meu caso. Estou implementando um sistema que aceita e processa comandos por uma porta serial. Posso manter meu código de processamento de comando igual e, em seguida, esperar que os objetos de seqüência de caracteres criados no RTOS (que contém os comandos) sejam todos terminados em NULL? Ou seria diferente com base no sistema operacional?
Atualizar
Depois de ser aconselhado a dar uma olhada nesta pergunta , concluí que ela não responde exatamente o que estou perguntando. A pergunta em si está perguntando se o comprimento de uma string deve sempre ser passado, o que é totalmente diferente do que estou perguntando, e embora algumas das respostas tenham informações úteis, elas não são exatamente o que estou procurando. As respostas pareciam dar razões pelas quais ou por que não terminar uma sequência com um caractere nulo. A diferença com o que estou perguntando é se posso mais ou menos esperar que as strings nativas de plataformas diferentes terminem suas próprias strings com nulo, sem ter que sair e tentar todas as plataformas existentes, se isso fizer sentido.