1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Ошибка В Localtime

Тема в разделе "С и С++", создана пользователем Pingvin1, 20 сен 2014.

  1. Pingvin1

    Pingvin1 Well-Known Member

    Репутация:
    0
    Регистрация:
    20 июл 2009
    Сообщения:
    50
    Симпатии:
    0
    При переходе на Windows 8.1, стала выводится ошибка в строке при определение текущего времени localtime (&rawtime); :[Error] no match for 'operator=' (operand types are 'tm' and 'tm*')
    Компилятор TDM-GCC 4.8.1 32-bit Release устанавливаемый по умолчанию в Dev-Cpp 5.7.0 TDM-GCC x64 4.8.1

    Вся вся программа:
    Код:
    #include <stdio.h>//sprintf и sscanf, файловый ввод-вывод, fopen макрос NULL
    #include <ctime>
    #include <stdlib.h>//exit int atoi(const char *str);
    #include <string.h> //- Функции для обработки строк
    #include <iostream>// cin cout
    using namespace std;// cin cout
    FILE * f; 
    time_t rawtime;
    char tectime[20];
    struct tm timeinfo;
    
    int main()	{
    time (&rawtime);				 // установка текущай даты и времени в секундах
    timeinfo = localtime ( &rawtime ); // текущее локальное время, представленное в структуре, на входе секунды, на выходе структура
    sprintf(tectime,"%d!%d-%d^%d",timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
    return 0;
    }
    Что делать?
     
  2. Pingvin1

    Pingvin1 Well-Known Member

    Репутация:
    0
    Регистрация:
    20 июл 2009
    Сообщения:
    50
    Симпатии:
    0
    Гипотиза: Так как Windows 8.1 32 битная, а Def C++ только 64, то вторая под первой полностью не работает.
     
  3. Streletz

    Streletz Active Member

    Репутация:
    0
    Регистрация:
    6 сен 2014
    Сообщения:
    40
    Симпатии:
    5
    64-разрядное приложение в 32-разрядной системе вообще не запустится. Так что гипотезу придётся отклонить :angry2: .
    Что же касается Вашей проблемы, то её можно решить используя стандартный способ работы с localtime.
    Код:
    char tectime[20];
    struct tm *ptr;
    time_t lt;
    lt = time(NULL);
    ptr = localtime(&lt);
    sprintf(tectime, "%d %d:%d:%d", ptr->tm_mday, ptr->tm_hour, ptr->tm_min,
    ptr->tm_sec);
    printf(tectime);
    getch();
    return 0;
     
  4. Pingvin1

    Pingvin1 Well-Known Member

    Репутация:
    0
    Регистрация:
    20 июл 2009
    Сообщения:
    50
    Симпатии:
    0
    Переутановил Windows 8.1 на 64 Бит - таже ошибка. Определил переменную как указатель, ошибка пропала, спасибо.
     
Загрузка...
Похожие Темы - Ошибка Localtime
  1. recrut
    Ответов:
    13
    Просмотров:
    123
  2. Петручо
    Ответов:
    0
    Просмотров:
    29
  3. Tayrus
    Ответов:
    5
    Просмотров:
    97
  4. OneDollar
    Ответов:
    12
    Просмотров:
    175
  5. ViSol
    Ответов:
    2
    Просмотров:
    110

Поделиться этой страницей