Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.68/121: Рейтинг темы: голосов - 121, средняя оценка - 4.68
0 / 0 / 1
Регистрация: 11.04.2010
Сообщений: 34
1

Перевод из string в ASCII

01.05.2010, 21:12. Просмотров 24338. Ответов 22
Метки нет (Все метки)

Как можно перевести строку в ASCII коды? Есть ли возможность переводить сразу, а не через char?
Спасибо...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2010, 21:12
Ответы с готовыми решениями:

Перевести из int в string по таблице ascii
подскажите как перевести из числа в символ? есть int a = 97; как получить std::string = "a" ?

Как ковертировать из ASCII опять в string?
Всем доброго здравия. Нашел программу, которая переводит буквы строки в порядковые номера по...

Перевод кириллицы в ASCII
Задание: В заданной строке после каждой буквы русского алфавита поставить ее код, а после...

Перевод символов в ASCII
#include <iostream> #include <string> using namespace std; int main () { int a, b; cin...

22
0 / 0 / 1
Регистрация: 11.04.2010
Сообщений: 34
04.05.2010, 00:00  [ТС] 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();
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,283
04.05.2010, 02:27 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 коды, сохранение символов, если они цифры и т.д. (от простого к сложному)
1
0 / 0 / 1
Регистрация: 11.04.2010
Сообщений: 34
05.05.2010, 01:34  [ТС] 23
Цитата Сообщение от Vorona Посмотреть сообщение
не все понимаю в вашей программе, потому попробуйте сначала реализовать разбиение на строки, а потом добавьте перевод символов в их ASCII коды, сохранение символов, если они цифры и т.д. (от простого к сложному)
действительно... мне надо было самому разобраться))... проблема решена, спасибо... хотя появились новые - но это уже другая тема
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2010, 01:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Перевод ASCI в ASCII и наоборот
Добрый день учень нужна помощь... немогу никак разобраться с проблемой перевода кодировок, мне...

Перевод строки в ASCII символы
Привет всем! Прошу помочь кое что выяснить. Есть ли в С++ функция перевода строки в символы...

Перевод с двоичной системы в ASCII
Есть последовательность 01010111101101010101101111011 ( к примеру ), как перевести эту...

Перевод символов в код таблицы ascii
помогите перевести элементы символьного массива в код таблицы ascii


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

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

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