Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
1

Почему переменной month присваивает значение, допустим 05, а day 2605

26.05.2011, 01:15. Показов 1771. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть фрагмент кода:

C++
1
2
3
4
5
6
7
8
9
10
11
int day, month, year;
_strdate(dateStr);
for (int i=0; i<9; i++)
    cout<<dateStr[i];
char m[2]= {dateStr[0], dateStr[1]};
char d[2]= {dateStr[3], dateStr[4]};
char y[2]= {dateStr[6], dateStr[7]};
month= atoi(m);
day= atoi(d);
year= atoi(y);
cout<<endl<<month<<" "<<day<<" "<<year<<endl;
Почему переменной month присваивает значение, допустим 05, а day 2605 (хотелось бы 26)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2011, 01:15
Ответы с готовыми решениями:

переменной Т присваивает значение
переменной Т присваивает значение, равное скалярному произведению векторов X и Y, где компоненты...

Занести системную дату в переменные day, month, year
У меня есть три переменные: int day; int month; int year; и мне нужно &quot;запихнуть&quot; в них...

Запишите инструкцию, которая присваивает переменной х значение -1,5
Запишите инструкцию, которая присваивает переменной х значение -1,5. Если можно полный ответ.

Присвоить целой переменной day целое значение 1,2, …, 6 или 7
Пусть n - целое число от 1 до 365. Присвоить целой переменной day целое значение 1,2, …, 6 или 7 в...

2
10 / 10 / 5
Регистрация: 08.07.2009
Сообщений: 34
26.05.2011, 01:55 2
Странно, посмотрел, да, както непонятно это работает, ковыряю

..

C++
1
2
3
4
y[0]=dateStr[6];
y[1]=dateStr[7];
 
cout << endl << y;
выдает
112605

как так. курю.

...

C++
1
2
3
4
y[0]=dateStr[6];
y[1]=dateStr[7];
 
cout << endl << y << endl << dateStr[6] << endl << dateStr[7];
112605
1
1
разрыв шаблона, где суть

Добавлено через 14 минут
так я и думал, atoi выходил за массив без нуля и лез на след переменную, но где ерроры?

C++
1
2
3
4
5
6
7
8
char m[]= {dateStr[0], dateStr[1] , '\0'};
char d[]= {dateStr[3], dateStr[4] , '\0'};
char y[]= {dateStr[6], dateStr[7] , '\0'};
 
month= atoi(m);
day= atoi(d);
year= atoi(y);
cout<<endl<<month<<" "<<day<<" "<<year<<endl;
так работает
1
magirus
26.05.2011, 07:20     Почему переменной month присваивает значение, допустим 05, а day 2605
  #3
 Комментарий модератора 
MrGluck, называйте темы информативно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2011, 07:20

Параметры Year, Month и Day описывают непредставимое значение DateTime
Привет всем. Сталкивался с проблемой при определение выходных дней в Dgv выдаёт ошибку:...

Параметры Year, Month и Day описывают непредставимое значение DateTime
Здравствуйте. Делаю выделение дней в monthCalendar при загрузке формы, хочу отметить 2 недели с...

Функции Day и Month.
Ситуация: в базе есть поле дата (BirthDay), а в отчете нужно эту дату представить разными полями....

Day (день), Month (месяц) и Year (год)
Подскажите пожалуйста,как задать в задаче операции,чтобы при выводе было видно высокосный это год...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru