Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись системного времени в файл, Хочу записать в файл системное время 
V
    Опции темы
Ivanalt
Дата 23.7.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.6.2007

Репутация: нет
Всего: нет



Хочу записать в файл системное время, т.к. файл планируется открыть на дописывание и хотелось бы знать, что когда писалось...

Подключаю stdio.h

Открываю файл для дописывания:

Код

if( (stream  = fopen( "account_report.txt", "a+" )) == NULL )
            {
            AfxMessageBox ( "File is not opened!");
            MessageBeep((WORD)-2);
            return;
            }
        
        GetSystemTime (&unical_time);


А дальше начинаются приключения:

Так - ругается ("Память не может быть read!"):
Код

fprintf (stream, "%st\n", unical_time);


Так - ругается
Код

fprintf (stream, "UNICAL TIME: %st, %st, %st, %st, %st, %st.\n", unical_time.wYear, unical_time.wMonth, unical_time.wDay, unical_time.wHour, unical_time.wMinute, unical_time.wSecond);


И так - тоже ругается:
Код

CString unical_year, unical_month, unical_day, unical_hour, unical_minute, unical_second;

unical_year.Format("%st", unical_time.wYear);
unical_month.Format("%st", unical_time.wMonth);
unical_day.Format("%st", unical_time.wDay);
unical_hour.Format("%st", unical_time.wHour);
unical_minute.Format("%st", unical_time.wMinute);
unical_second.Format("%st", unical_time.wSecond);

CString unical_data = unical_year + " " + unical_month + " " + unical_day + " " + unical_hour + " " + unical_minute + " " + unical_second;

fprintf (stream, unical_data);



А если просто записыать данные:
Код

CString eod = "END OF DATASET";
fprintf (stream, eod);
fclose( stream );

То всё записыается без проблем...

ВОПРОС: Где я лопухнулся???????
PM MAIL   Вверх
bsa
Дата 23.7.2007, 16:11 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



А где декларация unical_time?
PM   Вверх
Ivanalt
Дата 23.7.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.6.2007

Репутация: нет
Всего: нет



В начале проги, в голобальных переменных
SYSTEMTIME unical_time;
PM MAIL   Вверх
bsa
Дата 23.7.2007, 16:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Имхо. Я бы сделал так и не парился:
Код
#include <stdio.h>
#include <time.h>
int main()
{
     FILE *file = fopen("account_report.txt", "a+");
     if (file) {
         time_t tm;
         time(&tm);
         fwrite(&tm, sizeof(tm), 1, file);
         fclose(file);
     }
}

PM   Вверх
Damarus
Дата 23.7.2007, 20:24 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 6
Всего: 29



Цитата(Ivanalt @  23.7.2007,  17:01 Найти цитируемый пост)
Так - ругается

Цитата(Ivanalt @  23.7.2007,  17:01 Найти цитируемый пост)
И так - тоже ругается:

Что за "%st"? Может "%d"?
PM MAIL ICQ Jabber   Вверх
Ivanalt
Дата 24.7.2007, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.6.2007

Репутация: нет
Всего: нет



"%st" - вроде как параметр для структуры Systime...

ААА!!! Я ИДИОТ!!!
ОНО ЖЕ ТАМ ТЕРЯЕТ СТРУКТУРУ!!!!!!!

Короче, делаю так:
Код

fprintf (stream, "UNICAL TIME: %i/%i/%i, %i:%i:%i.\n", unical_time.wDay, unical_time.wMonth, unical_time.wYear, unical_time.wHour, unical_time.wMinute, unical_time.wSecond);


И всё замеательно:
Код

UNICAL TIME: 24/7/2007, 7:15:37.


хмм... А что это у мну систайм такое корявое???

НАРОД!!! А КАК МОЖНО ПОДКРУТИТЬ СИСТАЙМ??????!!!

Это сообщение отредактировал(а) Ivanalt - 24.7.2007, 10:08
PM MAIL   Вверх
Fazil6
Дата 24.7.2007, 12:04 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(Ivanalt @  24.7.2007,  10:03 Найти цитируемый пост)
НАРОД!!! А КАК МОЖНО ПОДКРУТИТЬ СИСТАЙМ??????!!!

куда подкрутить?
может тебе GetLocalTime нужен?
PM MAIL   Вверх
Ivanalt
Дата 24.7.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.6.2007

Репутация: нет
Всего: нет



Ну да...))) так гораздо лучше!!! )))
PM MAIL   Вверх
Silent_s
Дата 2.12.2007, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 2.12.2007
Где: Москва

Репутация: нет
Всего: 0



А как выести время на экран?
--------------------
Мой блог
PM MAIL   Вверх
bsa
Дата 2.12.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(Silent_s @ 2.12.2007,  01:57)
А как выести время на экран?

Код
#include <time.h>
...
const struct tm *time = localtime(time(NULL));
printf ("Time: %i/%i/%i, %i:%i:%i.\n", time->tm_mday, time->tm_mon, time->tm_year, time->tm_hour, time->tm_min, time->tm_sec);

PM   Вверх
Silent_s
Дата 2.12.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 2.12.2007
Где: Москва

Репутация: нет
Всего: 0



Спасибо!
--------------------
Мой блог
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.