Сохранить содержимое указателя в байтовом массиве вместо файла - PullRequest
0 голосов
/ 01 мая 2020

Я хочу сохранить содержимое указателя в байтовом массиве, мой пример следующий:

static bool write_pcr_values() {

// PCR output to file wasn't requested
    if (ctx.pcr_output == NULL) {
        return true;
    }

    // Export TPML_PCR_SELECTION structure to pcr outfile
    var stream = new MemoryStream();
    var buffer = new byte[8*1024];
    long bytesRead;
    long index = 0;



    if (fwrite(&ctx.pcr_selections, sizeof(TPML_PCR_SELECTION), 1,
            ctx.pcr_output) != 1) {
        LOG_ERR("write to output file failed: %s", strerror(errno));
        return false;
    }

    // Export PCR digests to pcr outfile
    if (fwrite(&ctx.pcrs.count, sizeof(UINT32), 1, ctx.pcr_output) != 1) {
        LOG_ERR("write to output file failed: %s", strerror(errno));
        return false;
    }

    UINT32 j;
    for (j = 0; j < ctx.pcrs.count; j++) {
        if (fwrite(&ctx.pcrs.pcr_values[j], sizeof(TPML_DIGEST), 1,
                ctx.pcr_output) != 1) {
            LOG_ERR("write to output file failed: %s", strerror(errno));
            return false;
        }
    }

    return true;
}

Так, например, я делаю:

var stream = new MemoryStream();
var buffer = new byte[8 * 1024];
long bytesRead;
long index = 0;
while ((bytesRead = reader.GetBytes(1, index, buffer, 0, buffer.Length)) > 0)
{
    stream.Write(buffer, 0, (int) bytesRead);
    currentIndex += bytesRead;
}
byte[] data = stream.ToArray();

, но когда я пытаюсь выполнить свой код, например, появляется следующая ошибка:

tools/tpm2_quote.c:58:5: error: unknown type name ‘var’; did you mean ‘char’?
     var stream = new MemoryStream();
     ^~~
     char
tools/tpm2_quote.c:58:18: error: ‘new’ undeclared (first use in this function); did you mean ‘getw’?
     var stream = new MemoryStream();
                  ^~~
                  getw
tools/tpm2_quote.c:58:18: note: each undeclared identifier is reported only once for each function it appears in
tools/tpm2_quote.c:58:22: error: expected ‘,’ or ‘;’ before ‘MemoryStream’
     var stream = new MemoryStream();
                      ^~~~~~~~~~~~
tools/tpm2_quote.c:59:5: error: unknown type name ‘var’; did you mean ‘char’?
     var buffer = new byte[8*1024];
     ^~~
     char

Кто-нибудь знает почему? Я начинающий в C#, и я не понимаю такого рода вещи. Заранее спасибо.

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