внимательно почитаете то найдете мое предложение искать не буквы, а разделители)
Я прекрасно понял о чем вы говорили, в своем посте... Использование isspace(), ispunct() или еще проще isalnum (если исходить от противного по вашему методу), затрудняют логику и понимание.... Подумайте сами, данный раздел форума носит в первую очередь педогогическую функцию... И человеку, куда нужнее понять, как в C++ хранятся строки типа char*, как компилятор инициализирует или определяет конец строки или как хранит строку всего с одним символом... Как не делает разницы между типами char-вроде бы символьным, и int... Как свободно преобразуется в целочисленную последовательность кодов русское слово...
Смысл написание программ в этом разделе, по моему мнению, это затрагивание того материала, который уже знает автор прозьбы.... И написание как можно более понятного для него кода... А писать фразы, типо, обойти элементы массива лучше
p++; (когда p - указатель на него); или
ключевое слов, поверьте я тоже не плохо могу... Но когда подход написания я выбираю не для оптимизации или сужения кода, к критике подхожу резко...
счиать количество символов текущего слова и писать:
buffer[cnt++]=str[j];
не проще?
И что мы получим??? Как вы по коду видели память я не обнуляю, выделяю ее динамически... А вы предлагаете завершающий символ строки перезаписать, вам не кажется, что это по меньшей мере - не правельно.... И благо, если в 128 байтах буфера хот раз встретить 0, а если нет????(!!!)
подробнее читай выше. Такие заморочки для большей наглядности алгоритма?
по поводу строковых функций у вас лишь strcat,strlen,strcpy, хотя смысла использовать их если по заданию требуется найти не повторяющиеся слова (ключевое слово найти), ИМХо логичнее все же использовать strstr.
К меня основная часть строковых функций (исходя из логики алгоритмических языков) - это копирование, измерения длины и объединение, все остальные являются всего лишь вытекающими из них...
Хорошо, вы советуете, использовать strstr, а так же советуете проверять от текущего слова строку далее... Отбросим все разделите, и прочию ахинею...
У вас строка "Я пришел. Я ушел." Смотрим... Букв 'Я' - в словах нет, как хорошо, вхождений субстроки в лишних словах не будет... Но если при первом "Я"- уникальность действительно будет нарушена, то простите на втором Я, вхождение уже не будет найдено - ваш способ выдаст уникальность этого "Я"...