|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.12.2011, 02:45 | #1 |
Регистрация: 07.11.2011
Сообщений: 3
|
Создание и редактирование файла (построчно) в С
Дана задача - Создание базы данных студентов и построчное её редактирование по запросу с пред просмотром редактируемой строки.
У меня такая вот проблема : почему у меня выдает баг после заполнения файла перед его выводом на экран , почему у меня не работает функция strstr, которая ищет номер редактируемой строки, с последующим её выводом на экран и как реализовать замену старой строки на новую? код программы : PHP код:
|
21.12.2011, 09:54 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
сразу два момента:
1. Вот здесь ты память выделяешь: Код:
2. Ты выделяешь память под kilkist элементов. А чему равно это количество? Где у тебя в программе есть строчка, которая инициализирует kilkist адекватным значением? Код:
Код:
Дальше не всматривался. Но есть подозрение, что в твоём файле по итогу будит лежать не те данные, которые ожидались |
21.12.2011, 12:03 | #3 |
Регистрация: 07.11.2011
Сообщений: 3
|
дописал в конец условия
Код:
Код:
количество kilkist я ввожу из клавиатуры Код:
Вопрос не в этом а в том почему strstr не работает а компилятор выдает ошибку "отсутствуют экземпляры перегруженная функция strstr " |
21.12.2011, 12:16 | #4 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Посмотри, какие данные нужно кормить функции strstr:
http://www.cplusplus.com/reference/c...string/strstr/ И посмотри, какие данные ты сам ей скармливаешь. int ID; int s; То есть, функции, которая принимает на входе две строки, ты пытаешься скормить два числа. Зачем? Попробуй сделать так: Код:
|
21.12.2011, 17:00 | #5 |
Регистрация: 07.11.2011
Сообщений: 3
|
Спасибо большое _Bers! впринцыпе заработало только я написал так :
Код:
Теперь всплывает такой вопрос : можно объяснить какой принцип и как реализовать замен строки которую оно нашло ?? а то я даже не подозреваю как это сделать |
21.12.2011, 17:22 | #6 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
1. В начале работы загружаем всю базу данных в память целиком (благо, она у тебя маленькая получается). После успешной загрузки, можно вообще файл закрыть за ненадобностью. 2. Все манипуляции с данными базы данных теперь происходят уже с массивом данных, который в памяти. Там мы можем что захотим поменять, удалить, добавить, и тд. 3. По требованию сохранить изменения базы - снова открываем файл, и перезаписываем его целиком тем, что у нас есть в памяти. После чего снова закрываем файл. Работать с памятью удобнее и быстрее, чем мурыжить бинарник на HDD |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание и редактирование текстового файла | sasha0123 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 04.12.2010 00:00 |
VS/C++ считывание из файла построчно | lbs | Помощь студентам | 0 | 06.06.2010 13:53 |
Чтение файла построчно | aciiiD | Компоненты Delphi | 11 | 26.08.2009 16:36 |
Определения частоты пары соседних символов в каждой строке и формирования файла частот построчно | ивт | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 05.12.2008 20:09 |
Типизированные файлы.Создание, удаление, редактирование, сортировка записей типизированного файла.Паскаль | Студент Шиза | Помощь студентам | 6 | 08.12.2007 13:41 |