Qt / Bash пересоздать bash скрипт - PullRequest
0 голосов
/ 03 ноября 2019

Я хочу переписать мой быстрый и грязный скрипт на bash, который я написал на bash в Qt. Строки, которые я хочу переписать:

gp1=$(cat /sys/fsl_otp/HW_OCOTP_GP1) || return $?
gp2=$(cat /sys/fsl_otp/HW_OCOTP_GP2) || return $?

p0="$(printf "%08x" "${gp1}" | cut -c 1-8)" || return $?
p1="$(printf "%08x" "${gp2}" | cut -c 7-8)" || return $?

Моя попытка gp1 в Qt:

uint64_t gp1_val = 0;
QFile gp1("/sys/fsl_otp/HW_OCOTP_GP1");
if(gp1.open(QFile::ReadOnly | QFile::Text)){
    QByteArray gp1_bytes = QByteArray::fromHex(gp1.readAll());
    gp1_val |= gp1_bytes[1] << 24;
    gp1_val |= gp1_bytes[2] << 16;
    gp1_val |= gp1_bytes[3] << 8;
    gp1_val |= gp1_bytes[4];
}
gp1.close();

Но по сравнению с вариантом bash это похоже на забивание гвоздя рукояткой. Есть ли более элегантный / лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...