inline void readSymColValUpdRow(int *row, const int nmat,
int **col, double **val, const int nnz,
FILE *fpcol)
{
*col = (int*)_mm_malloc(sizeof(int)*nnz, 64);
*val = (double*)_mm_malloc(sizeof(double)*nnz, 64);
FILE *fpval;
*fpval = *fpcol;
const int BUF_LEN = nnz*10;
char buf[BUF_LEN];
fgets(buf, BUF_LEN, fpval);
fgets(buf, BUF_LEN, fpval);
...//other code
}
这就是我想要做的。我需要两个文件指针来引用函数“readSymColValUpdRow()”中文件中的不同位置。因此,我声明了一个文件指针 *fpval 并将 fpcol 的内容分配给它。“fpcol”是函数参数传递的有效文件指针。我试图让 fpval 指向前面的两条线。但是,这样做总是会出现“分段错误”。一旦我评论
*fpval = *fpcol;
和其他相关代码一切都很好。我真的不明白这里出了什么问题。感谢您的帮助。