我有一些C代码,在解析某个文件头失败时需要生成错误消息.在这种情况下,我需要确保标头中的某个4字节字段是“OggS”,如果不是,则返回错误消息,例如“invalid capture_pattern:’FooB’;期望’OggS’”.我的代码看起来像这样:
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!";
}
从其他数据类型构建字符串的标准C语言是什么?我不是在这里坚持使用printf(3)风格的格式,所以请随意提出任何可行的方法.