我有下面的代码应打印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