Вопрос № 85699: Здраствуйте уважаемые эксперты.
Подскажите мне пожалуйста несколько книг наиболее лучших подходящих для обучения visual c++, с++. Я в этом деле неопытный.
...Вопрос № 85700: Здравствуйте, уважаемые эксперты!
Вот уже третий день мучаюсь и не могу придумать реализацию такой программы.Имеется шаблон во внешнем текстовом файле типа "Меня зовут [Name], мне [years] лет." Пользователь может его изменять.И есть пол...
Вопрос № 85.699
Здраствуйте уважаемые эксперты.
Подскажите мне пожалуйста несколько книг наиболее лучших подходящих для обучения visual c++, с++. Я в этом деле неопытный.
Отвечает: Sling
Здравствуйте, Lichno_sam85!
По поводу Visual Studio ничего посоветовать не могу. Те книги, которые мне попадались были написаны слабенько.
А вот по поводу самого языка С++, есть очень хорошая книга Г. Шилдта "Самоучитель С++". Очень эффективна и как справочник, и для обучения. Теория в ней даётся небольшими статьями, которые тут же подкреплены примерами.
Правда в самой книге написано, что её следует использовать тем, кто знает чистый С и хочет перейти на С++, но на самом деле она вполне подходит даже для обучения "с нуля".
--------- The fear of blood tends to create fear for the flesh
Ответ отправил: Sling (статус: 4-ый класс)
Ответ отправлен: 06.05.2007, 18:27 Оценка за ответ: 5 Комментарий оценки: Большое спасибо.
Ответ отправил: MARTALEX (статус: 4-ый класс)
Ответ отправлен: 06.05.2007, 19:18 Оценка за ответ: 5 Комментарий оценки: Большое спасибо
Вопрос № 85.700
Здравствуйте, уважаемые эксперты!
Вот уже третий день мучаюсь и не могу придумать реализацию такой программы.Имеется шаблон во внешнем текстовом файле типа "Меня зовут [Name], мне [years] лет." Пользователь может его изменять.И есть поля для заполнения, с соответсвующими надписями Name, Years и т.д.Так вот, как можно заменять квдратные скобки и то, что в них, на то, что нужно?Я смогла сделать только задачу проще, где вместо слов в шаблоне - звездочки, но это не серьезно..Предполагается, что полученный текст будет сохранен в другом
документе, но, думаю, я с этим справлюсь)
Помогите, пожалуйста!
Отправлен: 06.05.2007, 14:37
Вопрос задала: Valeria M (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Thread
Здравствуйте, Valeria M!
Вот примерный код. Я там делал комментарии, но если что не понятно спрашивайте.
Приложение:
Ответ отправил: Thread (статус: 6-ой класс)
Ответ отправлен: 06.05.2007, 22:25 Оценка за ответ: 3 Комментарий оценки: Спасибо)
Отвечает: Sergey A. Wedensky
Здравствуйте, Valeria M!
Осмелюсь предложить несколько более универсальный вариант.
Приложение:
Ответ отправил: Sergey A. Wedensky (статус: Студент)
Ответ отправлен: 07.05.2007, 10:15 Оценка за ответ: 5 Комментарий оценки: Спасибо большое!Я думаю, это то, что мне нужно)
Отвечает: Ilkras
Здравствуйте, Valeria M!
главное знать наперед все те слова, которые надо искать или хотя бы те символы, которые их выделяют (в вашем примере - квадратные скобки)
Считываеме весь шаблон в одну строку в памяти и затем, последовательно вызывая функцию strstr, ищете эти разделители. Поскольку структура шаблона вам известна заранее, то заготавливаете struct в который заносите найденные подстроки. Слова для замены и разделители запоминать, в принципе, не обязательно.
Далее, вы можете сформировать новый шаблон, заменив спец-слова и разделители на что угодно.
Скажем, в вашем примере есть 3 подстроки и 2 специальных слова. Вы на первом этапе сформировали структуру типа {char * substr1; char * substr2; char substr *3}
на втором этапе вы пишите:
char new_string[1024];
sprintf(new_string,"%s,%s,%s,%s,%s", substr1, "$Title$", substr2,"$Loafs$", substr3);
и в результате получаете строку с замененными спец-словами.
Ответ отправил: Ilkras (статус: 8-ой класс)
Ответ отправлен: 08.05.2007, 00:12 Оценка за ответ: 4 Комментарий оценки: Спасибо, я уже решила эту проблему)