我在文件中有大量数据,但每次我只读取 4096 个元素。因此,当我第二次阅读时,我必须将指针更新为第 4097 个元素。我怎么做?
问问题
87 次
3 回答
1
char *p = input;
/* do some code, use p instead of input*/
p = p+4096;
于 2013-09-20T09:01:17.027 回答
1
如果您使用fread()
orfscanf()
或fgetc()
从文件中读取,它会自动增加文件指针。您可以使用ftell()
.
例子:
fread(buf, 4096, 1, fp); // Call 1
fread(buf, 4096, 1, fp); // Call 2, just after 1st one
将从 指向的文件中读取 4096 个字节fp
,将其存储在buf
其中,第二次它将从 byte# 4097 开始读取。
您无需显式递增fp
.
于 2013-09-20T09:05:11.793 回答
0
ptr++;
应该做的伎俩。
其工作方式是 c 隐含地将其理解为内存中的位置 + poitner 指向的数据对象的大小。在 int 的情况下,它将是 sizeOf(int)。=]
于 2013-09-20T09:02:19.250 回答