Qual é o idioma C ++ para substituir snprintf (3)?
Eu tenho algum código C ++ que precisa gerar uma mensagem de erro ao analisar um determinado cabeçalho de arquivo. Nesse caso, preciso garantir que um determinado campo de 4 bytes no cabeçalho seja "OggS" e, se não estiver, retorne uma mensagem de erro como "inválido capture_pattern: 'FooB'; esperando 'OggS'". Meu código é mais ou menos assim:
const string OggPage::parseHeader(void) {
read(fd, capture_pattern, sizeof(capture_pattern)); // error handling omitted
if (strncmp(capture_pattern, CAPTURE_PATTERN, sizeof(capture_pattern)) != 0) {
char err[256];
snprintf(err, sizeof(err), "Failed to read %d bytes from file descriptor %d: %s\n", sizeof(capture_pattern), fd, err);
return err;
}
return "Everything was A-OK!";
}
Qual é o idioma C ++ padrão para criar uma cadeia de caracteres de outros tipos de dados? Eu não sou casado com oprintf(3)
-style aqui, sinta-se à vontade para sugerir qualquer coisa que funcion