Подскажите как правильно перевести строку string с MAC адресом имеющую формат:
FF:FF:FF:FF:FF:FF
в массив типа
u_char mac[6] = {"0xFF", "0xFF", "0xFF", "0xFF", "0xFF", "0xFF"};
есть много-много способов. Если формат макадреса только такой (а это легко проверить по длине и наличию двоеточий, то все просто
for (int i = 0; i < 6; i++) {
mac[i] = std::stoi(addr.substr(i*3,2), nullptr, 16);
}
Второй способ - через scanf - пример на SO.
И мой любимый способ
#include <iostream>
using namespace std;
std::string ReplaceAll(std::string str, const std::string& from, const std::string& to) {
size_t start_pos = 0;
while((start_pos = str.find(from, start_pos)) != std::string::npos) {
str.replace(start_pos, from.length(), to);
start_pos += to.length(); // Handles case where 'to' is a substring of 'from'
}
return str;
}
int main() {
std::string mac = "FF:FF:FF:FF:FF:FF";
std::string r = "u_char mac[6] = {\"" + ReplaceAll(mac, ":", "\", \"0x") + "\"};";
cout << r << endl;
return 0;
}
и потом через компилятор прогнать:)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня подключена библиотека (неуправляемая) через reference
Помогите разобраться в медиа запросахЧитаю инструкцию на этой страничке:
Когда вызываю объект, то значения не выводятсяМожет синтаксическая ошибка?
помогите советом, как найти соседние элементы по горизонтали и вертикалиК примеру: findClaster(8, 3) равно 2