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

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

Войти
Регистрация
Восстановить пароль
 
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,602
#1

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

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

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

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

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

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

Переполнение знаковых целых чисел: почему значение переменной обнуляется, а не записывается младшее значение? - C++
что то не пойму, как происходит переполнение знаковых целых чисел вот #include &lt;iostream&gt; int main(int argc, char* argv) { ...

выражение, которое присваивает переменной Y остаток - C++
Написать выражение, которое присваивает переменной Y остаток от деления 23 на 4.

2
Me11eR
10 / 10 / 0
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2011, 07:20
Привет! Вот еще темы с ответами:

Не могу понять почему не присваивает?( - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;tchar.h&gt; #include &lt;string.h&gt; using...

Написать инструкцию, которая присваивает целой переменной случайное число - C++
Генератор случайных чисел. Написать инструкцию, которая присваивает целой переменной случайное число в интервале от -10 до +10.

Почему меняется значение константной переменной? - C++
Доброго времени суток! Возникла такая проблема. Вовремя выполнения функции меняется значение константного указателя на 0x3f800000. Также...

Почему изменяется значение переменной между функциями класса? - C++
Почему-то изменяется значение переменной m(кол-во специальностей) в output_spec. Пробовал в других средах покомпилить, но m все равно...


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

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

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