fseek

    0热度

    2回答

    我有一个文件。我读了文件的大小。然后,我一次循环读取两个字节,直到文件结束。在每次读取操作后,我将当前位置增加2,但是在达到文件大小的一半后,位置不会递增,fread操作将读取0个字节。 程序读取文件大小。我执行fread(每次2个字节),直到当前位置等于文件的大小。 它读取22915个字节的文件大小 它在每次读取后将位置增加2,但是当当前位置到达11459,这是文件大小的一半时,它将读取零字节,

    15热度

    6回答

    这不是一个纯粹的编程问题,但它会影响使用fseek()的程序的性能,因此了解它的工作原理非常重要。一点免责声明,以便它不会被关闭。 我想知道它是如何有效的在文件中插入数据。假设我有一个带有1MB数据的文件,然后我在512KB的偏移处插入了一些东西。与将文件附加到文件末尾相比,效率如何?只是为了让示例完成可以说我想插入16KB的数据。 我明白了答案依赖于文件系统的变化,但是我认为在普通的文件系统中使

    0热度

    3回答

    我们有一个C++类基本上读取并从二进制文件写入向量。加载一个矢量到内存中的示范性读功能如下: int load (const __int64 index, T* values) const { int re = _fseeki64(_file, index * _vectorSize + _offsetData, SEEK_SET); assert(re == 0); size_t re

    7热度

    6回答

    该代码当前执行此操作,并且fgetpos处理大于4GB的文件,但搜索返回错误,因此任何想法如何寻求到file > 4GB的结尾? fpos_t currentpos; sok=fseek(fp,0,SEEK_END); assert(sok==0,"Seek error!"); fgetpos(fp,¤tpos); m_filesize=currentpos;

    4热度

    3回答

    我想用我自己的函数从文件中获取文件大小。我将使用它来为数据结构分配内存来保存文件上的信息。 的文件大小的功能如下: long fileSize(FILE *fp){ long start; fflush(fp); rewind(fp); start = ftell(fp); return (fseek(fp, 0L, SEEK_END) - sta

    2热度

    3回答

    您可以设置任何数组的索引作为开始索引,即从哪里读取文件?我担心如果在这个过程中缓冲区可能会损坏。 #include <stdio.h> int main() { FILE *f = fopen("C:\\dummy.txt", "rt"); char lines[30]; //large enough array depending on file size

    0热度

    4回答

    我想通过这样来读取文件中的最后50个字符: FILE* fptIn; char sLine[51]; if ((fptIn = fopen("input.txt", "rb")) == NULL) { printf("Coudln't access input.txt.\n"); exit(0); } if (fseek(fptIn, 50, SEEK_END) !=

    0热度

    3回答

    我需要的是一个相当于PHP的fseek()函数。该函数在文件上工作,但我有一个包含二进制数据的变量,我想处理它。我知道我可以使用substr(),但这将是蹩脚的 - 它用于字符串,而不是二进制数据。此外,创建一个文件,然后使用fseek()是不是我正在寻找。 也许是用流构造的东西? 编辑:好的,我几乎没有: $data = fopen('data://application/binary;bina

    1热度

    8回答

    当我循环遍历文件A中的行时,我正在解析行并将每个字符串(char*)放入char**。 在行尾,我运行一个包含打开文件B的过程,使用fgets,fseek和fgetc来抓取该文件中的字符。然后关闭文件B. 我重复重新打开并重新关闭文件B的每一行。 我想知道的是: 是否有使用malloc和free一个显著的性能损失,这样,我应该使用什么样的静态的myArray[NUM_STRINGS][MAX_ST