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