Я хочу сохранить содержимое указателя в байтовом массиве, мой пример следующий:
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#, и я не понимаю такого рода вещи. Заранее спасибо.