Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Работа со строками в C


Автор: Kremnik 22.1.2010, 05:00
Очень нужна помощь.

Сформировать новый текст, который является результатом следующего преобразования исходного текста: вставить после строк, не содержащих заданное слово, заданную строку два раза.

Текст вводится пользователем. Заданное слово - тоже. Обязательно должны использоваться указатели. 
Очень нужно сделать до сегоднешенго дня.
Заранее благодарен.

Автор: JackYF 22.1.2010, 10:26
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: Kremnik 22.1.2010, 12:12
Никто?

Автор: Loner 22.1.2010, 15:04
Что понимается под словом строка? Слова между символами перевода строки?

Автор: Kremnik 22.1.2010, 22:14
Да, именно.

Автор: Loner 23.1.2010, 08:23
Текст в файле?

Автор: Loner 23.1.2010, 13:38
В общем, берешь эти самые строки каким-либо способом. Здесь, видимо, и пригодятся указатели, потому что заранее  не известна длина строки. Буфер какой-нибудь надо использовать.
Допустим, ты это сделал. Далее используем функцию strtok.
Код

const char seps[]= " .,?\"\t!;_";//Разделители слов
char *word;
word=strtok(str,seps);
if (word && !strcmp(word,x_word))
        return true;
while(word)
{
    word=strtok(0,seps);
    if (word && !strcmp(word,x_word))
                return true;
}
return false;

(как-то так)
Теперь если нашли, то добавляем заданную строку. 
Хотя если у тебя текст в строке, можно сразу strtok. Тогда нужно в seps добавить '\n'.

Автор: Kremnik 25.1.2010, 03:39
Спасибо, уже сделал по-своему.
И тем не менее спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)