|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.04.2015, 10:23 | #1 |
Александр
Пользователь
Регистрация: 06.04.2015
Сообщений: 32
|
Функция язык Си
Написать функцию, определяющую внутреннее расширение файла filename, хранящееся в первых трёх байтах файлов. Примеры внутренних расширений: %PDF-1.4 - файлы PDF, ?PNG- файлы png и тд. Вывести внутреннее расширение на экран и попытаться определить расширение файла. В случае его определения вывести тип файла на экран.
Подскажите пожалуйста как определить расширение файла и вывести тип файла, с чего начать и что использовать для построения кода |
20.04.2015, 11:06 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Ну прочитайте же вашу задачу и еще раз прочитайте. Там же все написано. Читаете у файла первые байты и смотрите, что это: "%PDF-1.4 - файлы PDF, ?PNG- файлы png и тд"
|
18.06.2015, 19:27 | #3 |
Александр
Пользователь
Регистрация: 06.04.2015
Сообщений: 32
|
читал, но всеравно не могу понять что делать с расширениями
как я понял нужно делать через fgetc , но тут же встает вопрос: fgetc проверяет только 1 байт а в задаче нужно проверить 3 байта, т.е нужно использовать 3 раза fgetc для каждого расширения? |
18.06.2015, 19:40 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
http://www.cplusplus.com/reference/cstdio/fgets/
Или три раза fgetc() если уж так хочется.
I'm learning to live...
|
18.06.2015, 19:49 | #5 |
Александр
Пользователь
Регистрация: 06.04.2015
Сообщений: 32
|
т.е примерно с условием если выполняется fgets и встречается внутреннее расширение, то выводится расширение?
|
18.06.2015, 19:53 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Моя твоя не панимайтунг.
I'm learning to live...
|
18.06.2015, 19:57 | #7 |
Александр
Пользователь
Регистрация: 06.04.2015
Сообщений: 32
|
ну из условия задачи , например : встречается внутреннее расширение %PDF-1.4, значит выводим на экран PDF, только как это в коде реализовать не могу понять(
|
18.06.2015, 19:59 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А пример по ссылке, что я дал совсем-совсем ни о чем не говорит тебе?
I'm learning to live...
|
18.06.2015, 20:03 | #9 |
Александр
Пользователь
Регистрация: 06.04.2015
Сообщений: 32
|
ну там понятно что в if ( fgets (mystring , 100 , pFile) != NULL ) читает 100 символов из файла и помещает в массив, но не понимаю что делать с расширениями(
допустим както так: Код:
Последний раз редактировалось Stilet; 18.06.2015 в 20:12. |
18.06.2015, 20:11 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Особое внимание обрати на подчеркнутое в тексте. Потом считанное сравниваешь. Скажем считал ты 10 байт, а потом функцией strncmp() делаешь сравнение с константной строкой, которая содержит сигнатуру, указывающую на то что это за файл. Код:
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция строительства двоичного дерева.Язык Си. | East Undia Trading | Помощь студентам | 3 | 10.05.2014 23:47 |
Язык Си. Конвертирующая функция. | Землянин | Помощь студентам | 0 | 03.05.2012 18:51 |
Функция. Язык С | Bella | Помощь студентам | 0 | 27.11.2009 21:39 |
Юниксовая функция tar - разгранеченители. [язык: Си] | Card1nal | Помощь студентам | 0 | 21.11.2009 14:23 |
Функция (язык Си) | Darh | Помощь студентам | 5 | 20.11.2009 14:25 |