Привет. Я относительно новичёк в программировании, учусь на втором курсе факсу. Выдали курсач с вроде бы безобидной задачкой — есть файл, его нужно зашифровать по принципу 1-й байт + часы (создания зашифрованного файла), 2-й байт + минуты, 3-й + число, 4-й + месяц и пятый + год. И так каждые 5 байтов. Теоретически фигня — вопрос:
КАК ПОЛУЧИТЬ СИСТЕМНОЕ ВРЕМЯ?!!!!!!!!!! Не важно куда — в массив, в файл, последовательно в переменную — главное КАК?!!! Препод ноет про какую-то функцию GetTime и GetDate. Но ни описания ни библиотеки подключения — по ходу он сам не сильно шарит. Если кто-то подскажет как это сделать в С++ (Visual 6.0 или Dev 4.0) — буду очень и очень благодарен.
03.10.06 11:15: Перенесено модератором из 'Алгоритмы' — Кодт
Здравствуйте, kerzenschein, Вы писали:
K>Привет. Я относительно новичёк в программировании, учусь на втором курсе факсу. Выдали курсач с вроде бы безобидной задачкой — есть файл, его нужно зашифровать по принципу 1-й байт + часы (создания зашифрованного файла), 2-й байт + минуты, 3-й + число, 4-й + месяц и пятый + год. И так каждые 5 байтов. Теоретически фигня — вопрос:
K>КАК ПОЛУЧИТЬ СИСТЕМНОЕ ВРЕМЯ?!!!!!!!!!! Не важно куда — в массив, в файл, последовательно в переменную — главное КАК?!!! Препод ноет про какую-то функцию GetTime и GetDate. Но ни описания ни библиотеки подключения — по ходу он сам не сильно шарит. Если кто-то подскажет как это сделать в С++ (Visual 6.0 или Dev 4.0) — буду очень и очень благодарен.
Здравствуйте, kerzenschein, Вы писали:
K>КАК ПОЛУЧИТЬ СИСТЕМНОЕ ВРЕМЯ?!!!!!!!!!! Не важно куда — в массив, в файл, последовательно в переменную — главное КАК?!!! Препод ноет про какую-то функцию GetTime и GetDate. Но ни описания ни библиотеки подключения — по ходу он сам не сильно шарит. Если кто-то подскажет как это сделать в С++ (Visual 6.0 или Dev 4.0) — буду очень и очень благодарен.
Ищи документацию по хедеру <time.h> и, в частности, по функциям time() и localtime()
Кстати, хотел бы я посмотреть на процедуру расшифровки время поменялось, файл угробили.
Здравствуйте, kerzenschein, Вы писали:
K>Привет. Я относительно новичёк в программировании, учусь на втором курсе факсу. Выдали курсач с вроде бы безобидной задачкой — есть файл, его нужно зашифровать по принципу 1-й байт + часы (создания зашифрованного файла), 2-й байт + минуты, 3-й + число, 4-й + месяц и пятый + год. И так каждые 5 байтов. Теоретически фигня — вопрос:
K>КАК ПОЛУЧИТЬ СИСТЕМНОЕ ВРЕМЯ?!!!!!!!!!! Не важно куда — в массив, в файл, последовательно в переменную — главное КАК?!!! Препод ноет про какую-то функцию GetTime и GetDate. Но ни описания ни библиотеки подключения — по ходу он сам не сильно шарит. Если кто-то подскажет как это сделать в С++ (Visual 6.0 или Dev 4.0) — буду очень и очень благодарен.
Тебе нужно точное время создания файла, а то как его потом расшифровывать?
#include <sys/stat.h>
int _fstat(
int fd,
struct _stat *buffer
);
struct stat {
_dev_t st_dev;
_ino_t st_ino;
unsigned short st_mode;
short st_nlink;
short st_uid;
short st_gid;
_dev_t st_rdev;
_off_t st_size;
time_t st_atime;
time_t st_mtime;
time_t st_ctime; // время создания,
};
Далее из st_ctime выделяй необходимые величины.
Это стандартные C-ые функции, как плюс исходник будет переносим на другие платформы, а не только Win32.
Здравствуйте, Кодт, Вы писали:
К>Ищи документацию по хедеру <time.h> и, в частности, по функциям time() и localtime() К>Кстати, хотел бы я посмотреть на процедуру расшифровки время поменялось, файл угробили.
А почему бы скажем, не хранить время в начале файла ? байта четыре положить и все.
Автор топика на этот счет ничего не говорил, может время вообще в отдельный файл выностися, с тем же имененм но другим расширением
а то что главное, это не протерять ключ, это да
Здравствуйте, Кодт, Вы писали:
К>Кстати, хотел бы я посмотреть на процедуру расшифровки время поменялось, файл угробили.
А время создание файла чтобы изменить разьве дял этого не нужно его пересоздать, или я чего то путаю... разьве не изменяется только время изменения и время открытия?
Тогда без проблем, читаем время создания файла, открываем его и расшифровываем...
Здравствуйте, ijumper, Вы писали:
К>>Кстати, хотел бы я посмотреть на процедуру расшифровки время поменялось, файл угробили.
I>А время создание файла чтобы изменить разьве дял этого не нужно его пересоздать, или я чего то путаю... разьве не изменяется только время изменения и время открытия? I>Тогда без проблем, читаем время создания файла, открываем его и расшифровываем...
Все уважающие себя ОС имеют API для изменения любых атрибутов файлов. Нажми в ФАРе Ctrl+A и посмотри, что он предлагает делать с датами
Здравствуйте, Кодт, Вы писали:
К>Все уважающие себя ОС имеют API для изменения любых атрибутов файлов. Нажми в ФАРе Ctrl+A и посмотри, что он предлагает делать с датами
Эм.. так ну я и не спорю что можно...
Я говорю что навряд ли это предусматривалось заданием...