Ну, вот в Go придумали свои, я тут Олежку пердуна валил, дал ему задание, он свинтил. Понтов было выше крыши. А почему? Потому что они нарушили POSIX и сказали "а вы просто нас не понимаете, это такая продвинутая реализация". Потому и надо там писать свой разборщик, хотя в библиотеке, поставляемой с компилятором, есть это их новаторское средство.
А на коротких строках, пример - "hello", нуль-терминированные эффективнее размерных, потому что размер не нужен вообще.
Конечно эффективнее, при хранении это экономит 4 гигабайта. При чтении разница только в проверках. А что больше времени происходит, хранение или чтение? Естественно, хранение.
Ну, я ж говорю, ты тупой. Есть непереносимые библиотеки. А функции - в библиотеках. Если программа линкуется с библиотекой, которой нет в другой операционной системе, это как называется? Речь же идёт о функциях разбора аргументов командной строки. Ты съехал просто, подменив их функциями для работы с любыми строками.
Во-первых, это может быть непереносимо - когда для одной платформы есть библиотека, а для другой нет. А во-вторых, когда нужен свой способ обработки командной строки, отличающийся от общепринятых, то существующие реализации в этом не помогут. Но при этом по аргументам надо пройти не более одного раза
В том же примере касаемо сети ты просто никогда не писал сетевых программ, иначе хорошо бы представлял протоколы, в которые паскалевские строки никак не вписываютс
они сами не знают, что хотят.