设置指针位置

时间:2013-09-20 08:59:13

标签: c

我在文件中有大量数据,但每次我只读取4096个元素。所以,第二次当我正在阅读时,我必须将指针更新为第4097个元素。我该怎么做?

3 个答案:

答案 0 :(得分:1)

char *p = input;
/* do some code, use p instead of input*/
p = p+4096;

答案 1 :(得分:1)

如果您使用fread()fscanf()fgetc()从文件中读取,它会自动递增文件指针。您可以使用ftell()

进行检查

示例:

fread(buf, 4096, 1, fp);   // Call 1
fread(buf, 4096, 1, fp);   // Call 2, just after 1st one

将从fp指向的文件中读取4096个字节,将其存储在buf中,第二次从字节#4097开始读取。
您无需明确增加fp

答案 2 :(得分:0)

ptr++; 

应该这样做。

这种方式的工作方式是c隐式地将其理解为内存中的位置+ poitner指向的数据对象的大小。在int的情况下,它将是sizeOf(int)。 =]