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

преобразование строки целое - C++

Восстановить пароль Регистрация
 
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
12.05.2013, 23:31     преобразование строки целое #1
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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
int my_atoi(char*);
 
int main()
{
    char* data="2013";
    cout<<data<<endl;
 
    my_atoi(data);
 
    return 0;
}
 
int my_atoi(char* data)
{
    int return_value;
    
    char value=*data;
    return_value=value;
    cout<<return_value<<endl;
 
    return 0;
}
получается только ascii код символа, как зная это код перейти к int типу?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 23:31     преобразование строки целое
Посмотрите здесь:

C++ Преобразование нулей и единиц в целое число.
C++ Строки (преобразование текста)
C++ Преобразование строки в целое
C++ Преобразование строки в число
C++ Перевод строки в целое число
Преобразование строки C++
C++ Преобразование строки в число
Преобразование строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
13.05.2013, 00:01     преобразование строки целое #2
Вот как пример реализации!
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
#include <iostream>
using namespace std;
 
int my_atoi(char*);
 
int main()
{
    char* data="2013";
    cout<<data<<endl;
 
    my_atoi(data);
 
    cin.get();
    return 0;
}
 
int my_atoi(char* data)
{
    while(*data!='\0')
    {
        int value = *data;
        cout<<value-48;
        data++;
    }
    return 0;
}
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
13.05.2013, 00:02  [ТС]     преобразование строки целое #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
int my_atoi(char*);//преобразует число в int тип, если в строке есть не численные символы возвратит 0
int length(char*);//длинна строки
 
int main()
{
    cout<<"int type: "<<my_atoi("2013")<<endl;
    
    cout<<"int type: "<<my_atoi("oleg2013")<<endl;
 
    return 0;
}
 
//преобразует число в int тип если в строке есть не численные символы возвратит 0
int my_atoi(char* data)
{
    int int_result=0;
    char value;
    int zero=48;
 
    for(int i=0;i!=length(data);i++)
    {
        int_result*=10;
        value=*(data+i);
 
        if(value>=48 && value<=57)
        {
            int_result+=(value-zero);
        }
        else
        {
            int_result=0;
            cout<<"can't convert to int type!!"<<endl;
            break;
        }
    }
    return int_result;
}
 
//длинна строки
int length(char* data)
{
    int count=0;
    while(*data!='\0')
    {
        data++;
        count++;
    }
    return count;
}
Yandex
Объявления
13.05.2013, 00:02     преобразование строки целое
Ответ Создать тему
Опции темы

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