Сложность реализации правила 128 C

Код, связанный с кодировкой текста:

const char* toCode128C( const char* texto ) {

    int tamanhoTexto = strlen( texto );
    int tamanhoComando = strlen( "{C" ) + tamanhoTexto;

    char* printerCodBarras = new char[ tamanhoComando ];
    memcpy( printerCodBarras, "{C", tamanhoComando );

    for ( int i = 0; i < tamanhoTexto; i += 2 )  {
        int num = QString( texto ).mid( i, 2 ).toInt();
        QString vl = QString( static_cast<char>( num ) );

        strncat( printerCodBarras, vl.toStdString().c_str(), 1 );
    }

    return printerCodBarras;

}

Кодирование происходит успешно, за исключением случаев, когда оно содержит "00", например, код 59900001, преобразование происходит от двух символов до двух символов, или возникает ошибка при кодировании значения "00", в результате чего (00) не печатается.

0 ответов

Другие вопросы по тегам