1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| ninja |
17.11.2010 22:30
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Доброй ночи, столкнулся с такой проблемой: при записи информации в файл, кроме нужной, в файл записывается еще всякая лишняя информация. Принып такой: если в файле уже есть запись с записываемым именем ее записывать не нужно, в файл записывается только новая запись. И еще такая ошибка, когда создаю файл, при чтении этого файла функция !feof(F) как-то неверно работает, а именно в цикл все равно заходит, но поидее не должно, т.к. файл пустой. Заранее благодарен за помощь.
Объявляется структура struct YzelName Считывание данных из файла
Запись в файл if (flag_new_yzel == false) Функция perevod void perevod(TCHAR output_str[],AnsiString input_str) Сообщение отредактировано: ninja - 17.11.2010 22:32 |
![]() ![]() |
| volvo |
18.11.2010 2:41
Сообщение
#2
|
|
Гость |
Хм. Нет, пожалуй не буду переделывать на Stream-ы, тут и с FILE-ом будет несложно. Сначала - код:
Для начала - как бы я изменил perevod(). Очень просто: инициализировал бы все символы строки нулями, а потом копировал бы из строки все содержимое, до первого нуля, что ты сейчас и делаешь. Тогда в файле не оставались бы "хвосты" от более длинных строк, при последующей записи более коротких. Это ты для себя ставишь output_str[i-1] = '\0';, в файле-то эти "хвосты" все равно остаются. А зачем, если можно обойтись без этого? Еще одно: у тебя Builder 2010, значит, очень многое будет зависеть от Юникодных настроек. А ты, по-моему, путаешься в типах String/AnsiString, и зачем-то еще TCHAR притянул. А ты в курсе, что в юникодном проекте у тебя TCHAR = wchar_t? Тогда почему передаешь в perevod() вторым параметром AnsiString? Головной боли не хватает? |
ninja Проблема работы с файлами 17.11.2010 22:30
volvo Правильно работает feof(), так как и должна. Дело ... 17.11.2010 23:46
ninja Я со TStream никогда не работал, если честно, то д... 18.11.2010 0:01
ninja Переделал структуру, получилось вот так:
struct Y... 18.11.2010 14:49
volvo Не-не-не... Это тебе не Паскаль, чтоб String name[... 18.11.2010 14:58
ninja Все вроде работает!
У меня оказывается в наст... 18.11.2010 15:32
volvo Запускать на других машинах можно по разному.
1 в... 18.11.2010 15:39
ninja ага понял, тогда буду записывать в файл информацию... 18.11.2010 15:45
ninja Добрый вечер, не стал создавать новую тему написал... 1.12.2010 22:49
volvo Ты так и не делаешь того, что я написал выше:
Для ... 3.12.2010 1:25![]() ![]() |
|
Текстовая версия | 9.12.2025 13:54 |