Форум программистов, компьютерный форум CyberForum.ru

не получается преобразовать дату(как массив типа char) в число... - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
toucan
0 / 0 / 0
Регистрация: 08.01.2011
Сообщений: 16
08.01.2011, 13:06     не получается преобразовать дату(как массив типа char) в число... #1
Из файла считывается дата в виде символьного массива типа char,далее мне нужно преобразовать ее в числовой массив типа int. я пытаюсь осуществить это с помощью функции atoi,но программа считывает очень странно( помогите пожалуйста.... дата в файле хранится в виде (например 02.04.2005)


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
int _tmain(int argc, _TCHAR* argv[])
           char U1[11];
    char U2[11];
    
    int x1;
    int s1;
    int s2;
Query = fopen("Query.txt","r");//открыть файл для чтения
    if(Query != NULL)
    {
{                                fscanf(Query,"%*c%[^&]s",U1);//считать  массив
            fscanf(Query,"%*c%[^&]s",U2);
    }
    }
    fclose(Query);
 
s1 = atoi(U1);// преобразовать дату в int
s2 = atoi(U2);
 
cout<<s1;// вывести на экран
cout<<s2;
Sleep(80000);
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 13:06     не получается преобразовать дату(как массив типа char) в число...
Посмотрите здесь:

C++ Преобразовать сроку чисел CHAR в массив чисел типа int
Как преобразовать переменную string в массив char[]? C++
C++ 8-и значное число типа int преобразовать в строчку char\string
C++ Преобразовать Строку в Дату (char to date). Реализовать ввод данных в приложение
C++ Читать строку типа string из файла, разбить ее на массив слов типа char
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
08.01.2011, 13:12     не получается преобразовать дату(как массив типа char) в число... #2
типа инт... а то4ки ты пропускаешь или как ?
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
08.01.2011, 13:17     не получается преобразовать дату(как массив типа char) в число... #3
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
#include <iostream>
#include <conio.h>
#include <string>
#include <sstream>
#include <algorithm>
 
using namespace std;
 
int main()
{
    string num;
    cout << "Enter the value\n";
    cin >> num;
    replace(num.begin(), num.end(), '.', ' ');
    istringstream ost(num);
    do
    {
        int Tmp;
        ost >> Tmp;
        if (ost)
            cout << Tmp << endl;
    } while(ost);
    _getch();
}
toucan
0 / 0 / 0
Регистрация: 08.01.2011
Сообщений: 16
08.01.2011, 13:18  [ТС]     не получается преобразовать дату(как массив типа char) в число... #4
а вот с ними я как раз и не знаю что делать((( программа считывает фактически до первой точки(
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
08.01.2011, 13:22     не получается преобразовать дату(как массив типа char) в число... #5
попробуй считать посимвольно, а если встретится то4ка в символьном массиве - просто пропускай её.
toucan
0 / 0 / 0
Регистрация: 08.01.2011
Сообщений: 16
08.01.2011, 13:24  [ТС]     не получается преобразовать дату(как массив типа char) в число... #6
спасибо))) попробую))) я тока начинаю програмировать поэтому возникает куча вопросов)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 13:26     не получается преобразовать дату(как массив типа char) в число...
Еще ссылки по теме:

C++ Как вставить строку типа char по индексу в массив?
C++ Преобразовать число int в строку прописью char
C++ Как преобразовать строку char в массив int?

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

Или воспользуйтесь поиском по форуму:
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.01.2011, 13:26     не получается преобразовать дату(как массив типа char) в число... #7
попробуйте так
C
1
2
int dd, mm, yy;
fscanf(Query,"%d.%d.%d", &dd, &mm, &yy);
Yandex
Объявления
08.01.2011, 13:26     не получается преобразовать дату(как массив типа char) в число...
Ответ Создать тему
Опции темы

Текущее время: 13:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru