#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<int> ascii(const string& line) {
vector<int> box;
for (const auto code : line) box.push_back(code);
return box;
}
int main() {
string hello = "Hello world!";
auto box = ascii(hello);
for (const auto code : box) cout << "0x" << hex << code << ' ';
system("pause > nul");
}
C/C++
Какой самый простой способ привести std::string в код ASCII?
Если речь о С++, то можно воспользоваться функцией c_str, которая преобразует строку в массив символов ( на самом деле даже не преобразует, а возвращает ее внутреннее представление ), а данный массив можно считать набором кодов
Иван Булгаков
Для строки перегружен оператор [ ], поэтому строка сама по себе является подобием массива.
std::string - это может быть несколько символов, ещё может быть ноль символов (пустая строка).
Код символа - это код одного символа.
Как быть?
Код символа - это код одного символа.
Как быть?
Erbol Abil
а если привести сначала в char*, а потом поэлементно преобразовывать?
#include < iostream >
#include < string >
#include < vector >
using namespace std;
int main ()
{
std::string str = "12345 hello world";
std::vector < unsigned int >ascii_codes;
unsigned int sum_codes = 0;
cout << str << "\n";
for (int i = 0; i < str.length (); i++)
{
ascii_codes.push_back ((unsigned int) str[i]);
}
cout << "ascii char codes \n";
for ( unsigned int n : ascii_codes)
{
sum_codes += n;
std::cout << n << ", ";
}
cout << "\n sum codes " << sum_codes << "\n";
return 0;
}
#include < string >
#include < vector >
using namespace std;
int main ()
{
std::string str = "12345 hello world";
std::vector < unsigned int >ascii_codes;
unsigned int sum_codes = 0;
cout << str << "\n";
for (int i = 0; i < str.length (); i++)
{
ascii_codes.push_back ((unsigned int) str[i]);
}
cout << "ascii char codes \n";
for ( unsigned int n : ascii_codes)
{
sum_codes += n;
std::cout << n << ", ";
}
cout << "\n sum codes " << sum_codes << "\n";
return 0;
}
Похожие вопросы
- Создание функции std::size_t String::find(char ch)
- Напишите пожалуйста код на 5 вариант очень простой я на 1 курсе вуза и нужен простой код.
- Что такое #include <iostream>, std using namespace std В языке программирования C++?
- С++. Является ли замена string на char, где это возможно, оптимизацией кода?
- С++ Не работает двумерный вектор (std::vector)
- Почему никто из программистов никогда не пишет using namespace std;? Все пишут например вот так:std::vector<int> v1(10);
- Программирование C++. map std::
- Ввести с клавиатуры символ и преобразовать его в символ верхнего регистра. Как сделать без библиотеки string?
- WINAPI C++ string в char
- Написать код на языке C++