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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
Roma4717
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 22
#1

тип time_t - C++

05.05.2013, 12:21. Просмотров 3593. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2013, 12:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос тип time_t (C++):

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

Представление time_t - C++
как представлено число time_t? я имею ввиду порядок данных в нем, где год, где месяц и т.д. насколько я понимаю по 1 байту занимают год (от...

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

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

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

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

9
Evg
Эксперт CАвтор FAQ
18251 / 6376 / 438
Регистрация: 30.03.2009
Сообщений: 17,652
Записей в блоге: 28
05.05.2013, 15:14 #2
time_t - это целое число (означающее количество секунд, прошедших с 1 января 1970 года)
0
Roma4717
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
18251 / 6376 / 438
Регистрация: 30.03.2009
Сообщений: 17,652
Записей в блоге: 28
05.05.2013, 15:39 #4
Ну ты уж тогда смотри, в каком конкретно месте у тебя падает. Для быстрой воспроизводимости ошибок всегда следует заменить ввод (в твоём случае cin) на непосредственную запись значения в переменные. Короткий пример на основе твоей программы работает нормально: http://codepad.org/E6yioBvn

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

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

Не по теме:

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

0
Evg
Эксперт CАвтор FAQ
18251 / 6376 / 438
Регистрация: 30.03.2009
Сообщений: 17,652
Записей в блоге: 28
06.05.2013, 17:08 #9
Цитата Сообщение от Tulosba Посмотреть сообщение
я чего-то не понимаю
Значок "Эксперт Си++" выдавался по соображениям прав доступа в раздел форума для экспертов. Значков "Эксперт Си" нету, поэтому приходится носить "Эксперт Си++". То, что я не программирую на Си++, вовсе не означает, что этот язык я не понимаю, но такие тонкости, как пробелы во входном потоке, я не знаю, т.к. не имею соответствующей практики
1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.05.2013, 17:10 #10
Evg, спасибо за справку
0
06.05.2013, 17:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2013, 17:10
Привет! Вот еще темы с ответами:

Конветирование строки char в time_t или в struct tm - C++
Есть строковые переменные типа char над которыми нужно производить вычисления (сравнение, получение разницы). Порыл сеть на предмет как...

Как с помощью time_t вернуть количество секунд относительно 1900 - C++
Добрый день. Как с помощью time_t вернуть кол-во секунд относительно 1900 года, а не 1970. Спасибо.

Ошибка преобразование "time_t" в "unsigned int", возможна потеря данных - C++
Добрый день,по условию задачи: &quot;найти сумму элементов,расположенных на главной и побочной диагонали квадратной матрицы&quot; у меня вышла вот...

тип cout-a ostrieam? соответствено тип cin-a istream? - C++
тип cout-a ostrieam? соответствено тип cin-a istream?


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

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

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