我有下面的代碼應打印3072個整數數組結束:
打印出一個整數數組垃圾
for(int q=0; q < 3072; q++) printf("%x", band->GetData(q));
人會認爲它會打印3072個整數,但我得到3075點的整數與3大概垃圾最後一個。使用此代碼
fp=fopen("filename", "w");
fwrite(band->GetBuffer(), sizeof(int), 3072, fp);
fclose(fp);
打印到文件結束幾乎相同,除了有在端部3個額外的字節。使用不同的數組會給出不同長度的垃圾。
我想問爲什麼會發生這種情況,以及它是否真的是垃圾。
謝謝。
int GetData(unsigned int pos) const { ASSERT(pos < m_size); return m_data[pos]; }
int* GetBuffer() { return m_data; }
什麼是'band-> GetSize()'? – Paulpro
未找到'C++'。 – Chad
它返回數組的大小,在本例中爲3072. – user982842