-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