Форум программистов, компьютерный форум, киберфорум
Наши страницы

Почему не работает ТАКАЯ конструкция функции time - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разбор блока catch (исключения) http://www.cyberforum.ru/cpp-beginners/thread1214478.html
Задание звучит так: Даны две функции: double hmean(double a, double b) throw(hmean_error) - нахождение среднего гармонического. double gmean(double a, double b) throw(gmean_error) - нахождение...
C++ Дана строка. На печать выдать слова, имеющие больше одной буквы "е" Составить программу на языке С++ для обработки строк с использованием файлов и указателей. Дана строка. На печать выдать слова, имеющие больше одной буквы «е». #include <string> #include... http://www.cyberforum.ru/cpp-beginners/thread1214477.html
Двумерный массив. Поменять местами max и min четных строк C++
Составить программу на языке C++ для обработки двумерных массивов с использованием указателей и входных и выходных файлов. Дана квадратная матрица. Размерность вводится. Поменять местами max и min...
Одномерный массив, изменить программу C++
Составить программу на языке C++, состоящую из двух функций с использованием указателей. В главной функции выполнить ввод одномерного массива с файла и вывод полученных результатов в файл. В...
C++ Одномерный массив http://www.cyberforum.ru/cpp-beginners/thread1214468.html
Составить программу на языке С++ для обработки одномерных массивов с использованием указателей: 1. Ввести n элементов одномерного массива с входного файла; 2. Вычислить указанное выражение;...
C++ Типовые алгоритмы работы с двумерными массивами Добрый день. Нужна помощь до завтра!Перевести на язык С++\\ просто это походу паскаль. на С++ не могу найти инфу Типовые алгоритмы обработки двумерного массива относительно диагоналей ... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6752 / 5161 / 493
Регистрация: 14.02.2011
Сообщений: 17,338
22.06.2014, 19:49
Цитата Сообщение от Pjeroo Посмотреть сообщение
delete test;
а что ты удаляешь???
ты уже указатель на выделенную память потерял вот здесь
Цитата Сообщение от Pjeroo Посмотреть сообщение
test = ctime(&Time);
этой строкой ты не копируешь из строки в строку а заменяешь указатель
указывал на 100 адрес будет указывать на 200
нужно копировать строку
для этого есть strcpy или sprintf
http://lord-n.narod.ru/download/book.../14/strcpy.htm
http://lord-n.narod.ru/download/book...13/sprintf.htm

вот как должна выглядеть твоя прога
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    time_t Time;
    char * test = new char[100];
    time(&Time);
    strcpy(test,ctime(&Time)); // копируем строку времени в свою строку
    cout << test;
 
    delete [] test;// выделяли массив и удаляем массив
    return 0;
}
или так
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    time_t Time;
    char * test = new char[100];
    time(&Time);
    sprintf(test,"%s",ctime(&Time));// копируем строку времени в свою строку
    cout << test;
 
    delete[] test; // выделяли массив и удаляем массив
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.