Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.74/39: Рейтинг темы: голосов - 39, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 22
1

тип time_t

05.05.2013, 12:21. Просмотров 7334. Ответов 9
Метки нет (Все метки)

Нужно ввести 2 переменные типа time_t с клавиатуры , потом переконвертировать их в строки и записать в файл. В процессе исполнения программы вылетает ошибка: Debug assertion failed. Expression: invalid null pointer.
Что за такой невалидный нуль указатель не пойму.
Даты вводил и в таком виде(25.11.2012 20:00:00) и в таком (Web Feb 13 16:06:10 2013) результат не меняется, все равно программа вылетает.
Помогите пожалуйста разобраться
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
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
#include <time.h>
using namespace std;
int main()
{
string usluga1, usluga2;
string DATE_1, DATE_2;
time_t date_1,date_2;
cout<<"\nrequest:\n";
cin>> usluga1>>usluga2;
cin>>date_1>>date_2; 
DATE_1=ctime(&date_1); 
DATE_2=ctime(&date_2);
cout<<"begins recording parameters in the file param.ini ..."<<endl;  
fstream Param;
Param.open( "D:\\project\\ind_project\\param.ini", ios_base::out);  
if (!Param)
{
    cout<<"can not open the file for writing!";
    return 1;
}
Param<<usluga1<<", "<<usluga2<<endl<<DATE_1<<' '<<DATE_2<<endl;
Param.close();
_getch();
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2013, 12:21
Ответы с готовыми решениями:

Перевод time_t в tm C++
Я чот не могу понять, почему, когда я перевожу time_t со значением 26331 в tm, я вместо того, что...

Представление time_t
как представлено число time_t? я имею ввиду порядок данных в нем, где год, где месяц и т.д....

из string в time_t
Подскажите пожалуйста можно ли преобразовать string в time_t?

C++ конвертировать char* в time_t
Всем привет. Помогите, пожалуйста разобраться, как нормально конвертировать char* (время полученное...

9
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
05.05.2013, 15:14 2
time_t - это целое число (означающее количество секунд, прошедших с 1 января 1970 года)
0
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 22
05.05.2013, 15:31  [ТС] 3
Evg, это я понимаю просто перевожу через ctime время или целое long в строку и потом записываю в файл , все компилируется но при исполнении программы выскакивает ошибка которую описал выше , пробывал уже конвертировать через _itoa при этом заменив 11 строку на
C++
1
char *DATE_1, *DATE_2;
также при исполнение появляется ошибка: the variable 'DATE_1' is being used without being initialized.
0
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
05.05.2013, 15:39 4
Ну ты уж тогда смотри, в каком конкретно месте у тебя падает. Для быстрой воспроизводимости ошибок всегда следует заменить ввод (в твоём случае cin) на непосредственную запись значения в переменные. Короткий пример на основе твоей программы работает нормально: http://codepad.org/E6yioBvn

Добавлено через 1 минуту
Я не знаю, как работает cin, когда в одной строке заданы сразу две переменные и когда строка содержит пробелы. После cin'ов ради интереса воткни cout'ы, чтобы проверить, что у тебя на самом деле ввелось

Добавлено через 54 секунды
Цитата Сообщение от Roma4717 Посмотреть сообщение
пробывал уже конвертировать через _itoa при этом заменив 11 строку на
Это я вообще не понял
1
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 22
05.05.2013, 16:03  [ТС] 5
Evg, спасибо за советы сейчас буду разбираться
0
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.05.2013, 07:19 6
Цитата Сообщение от Evg Посмотреть сообщение
Я не знаю, как работает cin, когда в одной строке заданы сразу две переменные и когда строка содержит пробелы. После cin'ов ради интереса воткни cout'ы, чтобы проверить, что у тебя на самом деле ввелось
Так же, как если бы они вводились последовательно. Разве можно считать строку с пробелами не прибегая к какому-нибудь getline?
0
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
06.05.2013, 16:53 7
Цитата Сообщение от Tulosba Посмотреть сообщение
Разве можно считать строку с пробелами не прибегая к какому-нибудь getline?
Я не знаю, я на Си++ не программирую
Я просто тебе описал общий подход, как искать проблему (а не как её решать)
0
Tulosba
06.05.2013, 16:58
  #8

Не по теме:

Цитата Сообщение от Evg Посмотреть сообщение
Я не знаю, я на Си++ не программирую
Эксперт C++
Автор FAQ
я чего-то не понимаю O_o

0
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
06.05.2013, 17:08 9
Цитата Сообщение от Tulosba Посмотреть сообщение
я чего-то не понимаю
Значок "Эксперт Си++" выдавался по соображениям прав доступа в раздел форума для экспертов. Значков "Эксперт Си" нету, поэтому приходится носить "Эксперт Си++". То, что я не программирую на Си++, вовсе не означает, что этот язык я не понимаю, но такие тонкости, как пробелы во входном потоке, я не знаю, т.к. не имею соответствующей практики
1
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.05.2013, 17:10 10
Evg, спасибо за справку
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2013, 17:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Менять дату в time_t
Всем привет. Как-то можно тут изменить дату? В идеале добавить или отнять несколько секунд, чтобы...

Преобразование 'time_t' в 'unsigned int'
Массив предназначен для хранения значений ростов двенадцати человек. С помощью датчика случайных...

Работа со временем: заполнение time_t вручную
как грамотно заполнить #include &lt;ctime&gt; time_t структуру ? вручную надо дату забить

Time_t to tm, localtime возвращает tm с неверными значениями
Не могу перевести время из time_t полученное в результате выполнения функции difftime в tm для...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.