我在文件中有大量数据,但每次我只读取4096个元素。所以,第二次当我正在阅读时,我必须将指针更新为第4097个元素。我该怎么做?
答案 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)。 =]