![]() |
Работа со строками. Буфер содержит нуль-терминатор
Есть буфер (char[512]), в котором текст разделённый \0. Нужно разбить на строки буффер и записать в массив. Как это правилнее в C++ сделать?! Пока придумал вариант в цикле посимвольно просматривать буфер и писать символы в массив при встрече с '\0' создавать новый элемент в массиве. Но чот мне кажется что решение из арсенала индийских прогеров.... Есть еще strchr... Но она возвращает указатель на элемент... а без индекса не знаю как извлечь из строки подстроку... В общем помогите плз найти оптимальное решение...
|
Первое, что пришло в голову:
Код:
char buf[] = "aaaa\0bbbb\0cccc\0"; |
Dr.Dark, если наперёд известно количество подстрок (в примере ниже 23) то можно поступить следующим образом:
Код:
char Label [512] = "Раз\0Два\0Три\0...."; |
ММММ Всем спасибо.... уже сделал так
Код:
char *sArr, INI[512], *ptr, *lptr; Код:
char buf[] = "aaaa\0bbbb\0cccc\0\0\0\0\0\0"; Admiral Увы количество подстрок не известно... Относительно функциональности правильно. А вот относительно идеологии C++? Подскажите всё ли правильно?! И ещё подкиньте что нибудь толковое о динамических многомерных массивах в C++... Гугл уже юзаю.... |
Цитата:
|
ganselo, точно... ток в цикле
Код:
while(*lptr!=NULL) |
Время: 04:32. |
Время: 04:32.
© OSzone.net 2001-