Сейчас я работаю со встроенными системами и выясняю способы реализации строк в микропроцессоре без операционной системы. Пока что я просто использую идею использования NULL-концевых символьных указателей и обрабатываю их как строки, где NULL обозначает конец. Я знаю, что это довольно часто, но всегда ли вы можете рассчитывать на это?
Причина, по которой я спрашиваю, заключается в том, что в какой-то момент я думал об использовании операционной системы реального времени, и я хотел бы использовать как можно больше моего текущего кода. Итак, можно ли ожидать, что для различных вариантов, которые существуют, строки будут работать одинаково?
Позвольте мне быть более конкретным, хотя для моего случая. Я внедряю систему, которая принимает и обрабатывает команды через последовательный порт. Могу ли я сохранить код обработки моей команды таким же, а затем ожидать, что все строковые объекты, созданные в ОСРВ (которая содержит команды), будут все завершены с нулевым значением? Или все будет иначе в зависимости от ОС?
Обновить
После того, как мне посоветовали взглянуть на этот вопрос, я решил, что он не совсем отвечает на мой вопрос. Сам вопрос заключается в том, следует ли всегда указывать длину строки, которая полностью отличается от того, что я спрашиваю, и хотя некоторые ответы содержат полезную информацию, они не совсем то, что я ищу. Ответы там, кажется, дают причины, почему или почему бы не завершить строку нулевым символом. Разница с тем, что я спрашиваю, заключается в том, могу ли я более или менее ожидать, что врожденные строки разных платформ завершат свои собственные строки с нулем, без необходимости выходить и пробовать каждую платформу, если это имеет смысл.