In questo momento sto lavorando con sistemi embedded e sto cercando di capire come implementare le stringhe su un microprocessore senza sistema operativo. Finora quello che sto facendo è semplicemente usare l'idea di avere dei puntatori a caratteri terminati NULL e trattarli come stringhe in cui il NULL indica la fine. So che questo è abbastanza comune, ma puoi sempre contare su questo per essere il caso?
Il motivo per cui mi chiedo è che stavo pensando di usare un sistema operativo in tempo reale ad un certo punto, e mi piacerebbe riutilizzare il più possibile il mio codice attuale. Quindi, per le varie scelte che ci sono, posso praticamente aspettarmi che le stringhe funzionino allo stesso modo?
Vorrei essere più specifico anche se per il mio caso. Sto implementando un sistema che accetta ed elabora i comandi su una porta seriale. Posso mantenere lo stesso codice di elaborazione dei comandi e quindi aspettarmi che tutti gli oggetti stringa creati su RTOS (che contiene i comandi) vengano tutti terminati NULL? O sarebbe diverso in base al sistema operativo?
Aggiornare
Dopo essere stato consigliato di dare un'occhiata a questa domanda, ho deciso che non risponde esattamente a ciò che sto chiedendo. La stessa domanda è se la lunghezza di una stringa debba sempre essere passata, che è completamente diversa da quella che sto chiedendo, e sebbene alcune delle risposte contenessero informazioni utili in esse, non sono esattamente ciò che sto cercando. Le risposte lì sembravano spiegare perché o perché non terminare una stringa con un carattere nullo. La differenza con quello che sto chiedendo è se posso più o meno aspettarmi che le stringhe innate di diverse piattaforme terminino le proprie stringhe con null, senza dover uscire e provare ogni singola piattaforma là fuori se ciò ha senso.