|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.10.2008, 01:09 | #1 |
Пользователь
Регистрация: 12.10.2008
Сообщений: 12
|
Глюк(описание внутри)
получили некую строку s2, в которой слова разделены одним пробелом.
Теперь необходимо просто вывести каждое отдельное слово. Алгоритм такой: находим пробел, выделяем память, копируем символы (от предыдущего пробела, который запоминается в q, до текущего). В плане индексов все вроде правильно. Вопрос вот в чем: Например я ввожу текст: Привет! Как дела? Он выдает: Привет!=Как=дела?= Если поменять значение выделяемой памяти, то выдаются вместо знака = звездочка(не умножение, а другая ) char* s3; int q =0; for (int i=0; i<=strlen(s2); i++) { if ((s2[i]==' ') || (s2[i]=='\0')) { int k; s3 = new char[i-q+1]; for(k=q; k<i;k++) { s3[k-q]=s2[k]; } s3[k-q+1] = '\0'; q=i+1; printf(s3); } } |
13.10.2008, 08:46 | #2 | |
Регистрация: 03.10.2008
Сообщений: 9
|
Цитата:
|
|
13.10.2008, 12:55 | #3 |
Пользователь
Регистрация: 12.10.2008
Сообщений: 12
|
Да это не лаба, мне просто надо для работы С освоить, и я решил помочь другу в написании проги.
Я не прошу разбираться в коде, просто как бы окиньте ее взглядом, может у меня ошибка налицо |
13.10.2008, 13:21 | #4 |
Пользователь
Регистрация: 12.10.2008
Сообщений: 12
|
Короче, после долгого разбора вопрос свелся к следующему.
Если я копирую элементы из одной строки в другую, как вручную добавить символ конца строки? Такая запись, как я понял, вызывает глюки s[i]='\0'; |
14.10.2008, 06:05 | #5 | |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
Цитата:
месяц назад писал скриптег для переработки тестового лога в html документ - здесь все работает: Код:
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
|
14.10.2008, 21:04 | #6 |
Регистрация: 12.10.2008
Сообщений: 7
|
Код:
|
16.10.2008, 19:31 | #7 |
Пользователь
Регистрация: 12.10.2008
Сообщений: 12
|
Да, спасибо, я понял.
Там дело было в том, что я не учел, что на выходе из цикла значение счетчика увеличивается на единицу)). |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Описание структур и массивов в оконной форме | mdrake | Общие вопросы C/C++ | 2 | 15.05.2008 14:18 |
Программа. Паскаль. Описание внутри. | Nexx | Помощь студентам | 5 | 07.12.2007 20:07 |
QIP Dll's Описание у кого есть? | LEKA | Win Api | 10 | 18.05.2007 08:55 |