二维数组文件用fread读出并保存在一维数组里,希望读出其转置
二维数组文件用fread读出并保存在一维数组里,希望读出其转置。
就是我有一个bin文件,二维数组保存。 程序里面需要用其转置,而且是一维数组保存的。不知道可以可以用
fread读出来。
因为文件特别大,将文件读到二维数组里面,再转置到一维数组比较耗内存。
[解决办法]
int _fileno( FILE *stream );
int _chsize( int handle, long size );
int fseek( FILE *stream, long offset, int origin );
size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
[解决办法]
#define N 100
#define M 200
#define A(i,j) ((i) * N + (j))
#define B(i,j) ((i) * M + (j))
void transport(int a[], int b[])
{
int i, j;
for (i = 0; i < N; ++i) {
for (j = 0; j < M; ++j) {
b[B(i,j)] = a[A(j,i)];
}
}
}