|
|
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Задача такая: дан файл, в котором содержится несколько вещественных чисел. Нужно найти максимальное число и удалить его из файла. Язык программирования Си. Максимальное число найти легко, и потом сдвинуть все элементы на один тоже можно, но как после этого удалить последний элемент файла? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 19:45:19 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
открыл файл читаешь из файла в буфер закрыл файл удаляешь, размножаешь делаешь все что душе угодно в буфере открываешь файл в режиме для записи например (w) при этом все что было в файле сносится, и спокойненько пишешь в него все свой буфер например или то что тебе нада ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 21:20:47 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
Не, так не пойдет. Нельзя использовать буфер и вспомогательные файлы тоже. Такое задание в лабораторной работе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 21:29:46 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
sashka304 пишет: > удаляешь, размножаешь делаешь все что душе угодно в буфере > открываешь файл в режиме для записи например (w) при этом все что было в > файле сносится, и спокойненько пишешь в него все свой буфер например или > то что тебе нада Не обязательно. Есть операция специальная, обрезать файл по текущее значение файл-поинтера. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 22:19:29 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
MasterZiv, не помнишь какая точно операция? В Паскале есть, trancate называется, а вот на Си я такого аналога не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 22:22:05 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
Паша. Гарантирую тебе полный провал на собеседовании при поступлении ко мне на работу. Так программировать в принципе нельзя. Должна быть концепция NULL полей для данных во внешних файлах. Её и необходимо использовать. Ну да ладно хрен с тобой. Делаю скидку на первый курс и бестолковых преподов-лаборантов. Значит сделаешь так: 1) Тебе дан файл F длиной N чисел. 2) Найдеш максимальное значение. Запомнишь его индекс N_max 3) Используя fseek или seek запишешь в позицию F(N_max) значение F(N-1) 4) Обрежешь файл на 1 число с "хвоста" (как предлагал MasterZiv). Читай справочник по функциям io.h, fsntl.h, sys/stat.h, stdlib.h Всего! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 22:34:14 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
mayton 4) Обрежешь файл на 1 число с "хвоста" (как предлагал MasterZiv). все перечитал, не знаю как это сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 13:28:43 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
Павел0 пишет: > 4) Обрежешь файл на 1 число с "хвоста" (как предлагал MasterZiv). > > все перечитал, не знаю как это сделать. int _chsize( int fd, long size ); Parameters fd File descriptor referring to an open file. size New length of the file in bytes. Но она нестандартная. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 14:26:58 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
Вообще-то есть truncate и ftruncate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 15:07:34 |
|
||
|
Работы с файлами на Си
|
|||
|---|---|---|---|
|
#18+
blindedВообще-то есть truncate и ftruncateв вс чёт не видать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2007, 14:37:57 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34865405&tid=2028007]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
275ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 553ms |

| 0 / 0 |
