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

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

26.11.2017, 17:32. Показов 12049. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru