-2
我试图将http://linux.die.net/man/2/read 的内容读入向量中。我这样做,但它不起作用从Linux阅读向量阅读
std::vector<uint32_t> buf(10);
read(m_fileDescriptor, &buf[0], sizeof(buffer[0]));
该向量总是零,如果我devmem那么它不是零。有任何想法吗?
我试图将http://linux.die.net/man/2/read 的内容读入向量中。我这样做,但它不起作用从Linux阅读向量阅读
std::vector<uint32_t> buf(10);
read(m_fileDescriptor, &buf[0], sizeof(buffer[0]));
该向量总是零,如果我devmem那么它不是零。有任何想法吗?
你必须使用:
std::vector<uint32_t> buf(10);
std::size_t n = read (m_fileDescriptor, buf.data(),
buf.size() * sizeof(*buf.data()));
buf.resize(n/sizeof(*buf.data()));
这将读两年半'uint32_t'的,不是十。 – Quentin
@Quentin更正 – Garf365
几乎 - 'n'仍然是字节:) – Quentin