Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/64: Рейтинг темы: голосов - 64, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 5

Перевод строки в ASCII символы

26.11.2017, 17:32. Показов 12132. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
Прошу помочь кое что выяснить.
Есть ли в С++ функция перевода строки в символы ASCII таблицы?
Если все же такой нет, прошу помочь написать её.
К примеру такая строка
char str[]="4142435a"

даст на выходе:

ABCZ
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.11.2017, 17:32
Ответы с готовыми решениями:

Вывести на экран символы строки по возрастанию их кода ASCII
2) После ввода с клавиатуры произвольного ряда, вывести на экран этот ряд с отсортированными в нем символами ( у порядке возростания кодов...

Перевод десятичных кодов в символы ASCII
Вывести на экран заданный интервал(задается двумя числами - границами интервала, нужна проверка введенных значений - от 0 до 127) таблицы...

Из заданной строки исключить все символы, входящие в нее более одного раза (ASCII-Z строки)
Здравствуйте! Есть проблемы с выполнением задания: Из заданной строки исключить все символы, входящие в нее более одного раза. Нужно...

8
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.11.2017, 17:43
Нет такой функции. Выделяй подстроки по два символа, преобразуй в число и после сохраняй в char.
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
26.11.2017, 18:19
demon55303, здравствуйте! Вам нужны все символы таблицы ASCII?
0
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 5
26.11.2017, 18:21  [ТС]
Да, все 256
0
 Аватар для LVV
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
26.11.2017, 19:11
Введите цифровую строку, длиной, кратной трём, и будет Вам счастье.
Например, Hello! будет иметь такой ASCII-код: 072101108108111033, а Привет! - такой 207240232226229242033 в кодировке Windows 1251.
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    setlocale(0, "");
    string s;
    cin >> s;
    int len = s.length();
    
//если в строке не только цифры, или если количество символов не кратно трём
    int n;
    for (n = 0; n < len; n++)
        if (s[n] < 48 || s[n]>57)
            break;
    if (n < len || len % 3 != 0)
    {
        cout << "не корректный ввод";
        return 0;
    }
 
 
    //читаем по три цифры и выводим символ, соответствующий ASCII-коду
    unsigned char c;
    for (int i = 0; i < len; i += 3)
    {
        c = (s[i]-48) * 100 + (s[i+1]-48) * 10 + s[i+2]-48;
        cout << c;
    }
 
    cout << endl;
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 5
26.11.2017, 19:30  [ТС]
LVV, Извините, я некорректно выразился: Строка должна быть записана в 16ой системе(Hex), а на выходе получаться символы ASCII
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
26.11.2017, 20:20
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
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdlib.h>
 
char *hexToStr(char *str)
{
    char temp[100] = "", temp2[3], *stopstring;
 
    for (int i = 0; i < strlen(str) - 1; i += 2)
    {
        strncpy(temp2, str + i, 2);
        temp[i / 2] = (char) strtol(temp2, &stopstring, 16);
        temp[i / 2 + 1] = '\0';
    }
 
    return temp;
}
 
int main()
{
    char str[] = "4142435a";
 
    std::cout << hexToStr(str) << std::endl;
 
    system("pause");
    return 0;
}
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
27.11.2017, 02:01
QuakerRUS, советовать новичкам возвращать из функции указатель на локальную переменную... это за гранью добрв и зла.
3
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
27.11.2017, 10:29
Лучший ответ Сообщение было отмечено demon55303 как решение

Решение

avgoor, да, вы правы, мой косяк. Почему то на VS2017 этот код у меня прошел без проблем, а на Watcom C++ попробовал сейчас, не работает.

Рабочий вариант.

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
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdlib.h>
 
char *hexToStr(char *temp, char *str)
{
    char temp2[3], *stopstring;
 
    temp[0] = '\0';
 
    for (int i = 0; i < strlen(str) - 1; i += 2)
    {
        strncpy(temp2, str + i, 2);
        temp[i / 2] = (char)strtol(temp2, &stopstring, 16);
        temp[i / 2 + 1] = '\0';
    }
    
    return temp;
}
 
int main()
{
    char str[] = "4142435a", temp[100];
 
    std::cout << hexToStr(temp, str) << std::endl;
 
    system("pause");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2017, 10:29
Помогаю со студенческими работами здесь

Как удалить ASCII символы из строки
Есть строка, из нее нужно удалить ASCII символы, подскажите как это сделать?

Удалить из строки символы с минимальным и максимальными ASCII-кодом.
Удалить из строки символы с минимальным и максимальными ASCII-кодом. Исходные данные вести с клавиатуры.

Перевод строки в двоичный код. Кодировка ASCII
Вводится строка, выводится двоичный код. Вход: &quot;pascal .&quot; Выход:...

Из форматной строки и символа требуется получать все ASCII символы
Есть &quot;{0}&quot;,(char)AscCode требуется получить, пропустив через String.Format(), массив байтов (всех ASCII символов 0-255). Премного...

Отсортировать символы, введенной с клавиатуры строки в порядке возрастания их номеров в ASCII -таблице.
Написать программу, сортирующую символы, введенной с клавиатуры строки в порядке возрастания их номеров в ASCII -таблице.( 'СВА' в 'ABC')


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru