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

Перевод из string в ASCII - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 76, средняя оценка - 4.70
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
01.05.2010, 21:12     Перевод из string в ASCII #1
Как можно перевести строку в ASCII коды? Есть ли возможность переводить сразу, а не через char?
Спасибо...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
04.05.2010, 00:00  [ТС]     Перевод из string в ASCII #21
Цитата Сообщение от Vorona Посмотреть сообщение
переводит все, что разделено точками в отдельные строки и дальше делайте с ними, что хотите
(вариант немного грубоват, лучше сделать его более динамичным)
спасибо, за вариант... а не могли бы вы объяснить, по чему в этом коде (сделанный на ваш манер) не происходит запись даль [0][m], т.е. [1][m] и т.д.
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
data.open("data.txt",ios_base::in);
 
        while(!data.eof())
        {
        data.getline(buf, BUF_SIZE, '\n');
        s = buf;
    
        while( (ind = s.find(filter, old_ind)) != -1 )
            {
                str = s.substr(old_ind, ind - old_ind);
                old_ind = ind + 1 ;
                step1++;
     if  (step1>4)
        {
            if (step1==5)
            {j=4;}
            int* ascii_str1 = new int[str.length()];
            for (i = 0; i < str.length(); i++)
                ascii_str1[i] = str[i];
            for (i = 0; i < str.length(); i++)
                str3+=_itoa(ascii_str1[i],sstring,10);
            val1=atof(str3.c_str());
            a[j1][j++]=val1;
            str3.erase(0,str3.length());
 
            if (step1>8)
            {
                step1=0;
                j=0;
                j1++;
            }
        }
            else
                {
                    val=atof(str.c_str());
                    a[j1][j++]=val;
                }   
            }
            str = s.substr(old_ind, s.length() - old_ind);
            old_ind = 0;
     for(j1=0;j1<n;j1++)
        for(j=0;j<m;j++)
        cout << a[j1][j]<<endl;
        }
        data.clear();
        data.close();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
04.05.2010, 02:27     Перевод из string в ASCII #22
честно, я не понял, что такое "даль [0][m], [1][m] и т.д." потому перефразируйте пожалуйста вопрос)
и давайте я вам объясню принцип разбивания строки на подстроки(слова, разделенные определенным знаком), чтоб вы не зависили от моего кода, который впринципе работает, а постарались сами все организовать)
Вобщем у нас есть массив(*str1, строка) и есть пустой двумерный массив(**str2, массив строк)
мы посимвольно ищем разделитель слов, к примеру точку и если этот символ не является точкой, переписываем этот символ из str1[i] в str2[j][j1]:
C
1
2
3
4
j1 = j = 0;
for(i = 0; i < strlen(str1); i++)
    while(str1[i] != '.')
        str2[j][j1++] = str1[i++];
если же встречаем точку, то начинаем следующий символ после точки переписывать уже в новую строку массива строк str2:
переходим на новую строку(j++) и начинаем запись в нее с начала(j1 = 0)
и конечно же программа выдаст ошибку или зациклится если после последней точки будут стоять символы, т.е. она попытается дальше переписывать символы из str1 в str2 пока не встретит точку, потому мы добавляем в цикл
C
1
while(str1[i] != '.' && str1[i] = '\0')
, что означает, что данные будут переписываться до того, как встретится знак точка или конец строки(\0)
не все понимаю в вашей программе, потому попробуйте сначала реализовать разбиение на строки, а потом добавьте перевод символов в их ASCII коды, сохранение символов, если они цифры и т.д. (от простого к сложному)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2010, 01:34     Перевод из string в ASCII
Еще ссылки по теме:

C++ Перевод string в int
Перевод из int в string C++
Как ковертировать из ASCII опять в string? C++

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

Или воспользуйтесь поиском по форуму:
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
05.05.2010, 01:34  [ТС]     Перевод из string в ASCII #23
Цитата Сообщение от Vorona Посмотреть сообщение
не все понимаю в вашей программе, потому попробуйте сначала реализовать разбиение на строки, а потом добавьте перевод символов в их ASCII коды, сохранение символов, если они цифры и т.д. (от простого к сложному)
действительно... мне надо было самому разобраться))... проблема решена, спасибо... хотя появились новые - но это уже другая тема
Yandex
Объявления
05.05.2010, 01:34     Перевод из string в ASCII
Ответ Создать тему
Опции темы

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