Форум программистов, компьютерный форум CyberForum.ru

Изменение даты создания произвольного файла - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.73
medik07
9 / 9 / 0
Регистрация: 09.10.2009
Сообщений: 46
13.03.2011, 16:39     Изменение даты создания произвольного файла #1
Написать программу, изменяющую дату и время создания произвольного файла

Покапавшись нашел следующе, но что то не работает!!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
BOOL GetFileTime
(
    HANDLE hFile,           // указатель на открытый файл
    LPFILETIME lpCreationTime,      // время создания
    LPFILETIME lpLastAccessTime,    // время доступа
    LPFILETIME lpLastWriteTime      // время модификации
);
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
 
void main()
{
    HANDLE hFile=NULL; 
    hFile=CreateFile("c:\\config.sys",GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);
    if (hFile!=NULL)
    {
        FILETIME fc;
        FILETIME fa;
        FILETIME fw;
        if (GetFileTime(hFile,&fc,&fa,&fw)!=0)
        {
            //.....
        }
        else
            cout << "error gettime" << endl;
    }
    else
        cout << "error open" << endl;
}
что нужно сделать для получения функции SetfileTime...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 16:39     Изменение даты создания произвольного файла
Посмотрите здесь:

C++ прога создания текстового файла
C++ Создание файла произвольного доступа.
Поогите написать программу считывания произвольного количества строк из текстового файла C++
C++ Корень произвольного степени из произвольного числа, введенного с клавиатуры
C++ Составить программу по корректировке создания файла
C++ Добавить заголовок для произвольного файла
Чтение даты и данных из XML файла C++
Изменение даты на N дней C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
13.03.2011, 18:53     Изменение даты создания произвольного файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <windows.h>
 
int main() {
    SYSTEMTIME st;
    FILETIME ft;
    OFSTRUCT of;
    HANDLE hFile=(HANDLE)OpenFile("D:\\myFile.txt", &of, OF_CREATE);
    if(!hFile){std::cerr<<"Opening file error\n"; return 1;}
    GetFileTime(hFile, &ft, NULL, NULL);
    FileTimeToSystemTime(&ft, &st);
    st.wYear=2020;
    SystemTimeToFileTime(&st, &ft);
    SetFileTime(hFile, &ft, NULL, NULL);
    CloseHandle(hFile);
}
medik07
9 / 9 / 0
Регистрация: 09.10.2009
Сообщений: 46
13.03.2011, 20:04  [ТС]     Изменение даты создания произвольного файла #3
igorrr37, немного переделав получил следующее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
SYSTEMTIME lf;
    FILETIME ft;
    OFSTRUCT of;
    HANDLE hFile=(HANDLE)OpenFile("D:\\myFile.txt", &of, OF_CREATE);
    if(!hFile)
    {
    std::cerr<<"Opening file error\n"; 
    return 1;}
        GetFileTime(hFile, &ft, NULL, NULL);
        FileTimeToSystemTime(&ft, &lf);
    WORD god, mesiac, den, chas, minuta, secunda;
    cout<<"Введите год (создания произвольного файла): ";
    cin>>god;
    cout<<"Введите месяц (создания произвольного файла): ";
    cin>>mesiac;
    cout<<"Введите день (создания произвольно файла): ";
    cin>>den;
    cout<<"Введите час (создания произвольно файла): ";
    cin>>chas;
    cout<<"Введите минута (создания произвольно файла): ";
    cin>>minuta;
    cout<<"Введите секунды (создания произвольно файла): ";
    cin>>secunda;
    lf.wYear=god;
    lf.wDay=den;
    lf.wMonth=mesiac;
    lf.wHour=chas;
    lf.wMinute=minuta;
    lf.wSecond=secunda;
    SystemTimeToFileTime(&lf, &ft);
    SetFileTime(hFile, &ft, NULL, NULL);
    CloseHandle(hFile);
работает и спасибо за помощь!!!
Yandex
Объявления
13.03.2011, 20:04     Изменение даты создания произвольного файла
Ответ Создать тему
Опции темы

Текущее время: 12:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru