`
qimo601
  • 浏览: 3439322 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

关于fseek失效的一种情况

阅读更多

 

最近在试一下fseek这个函数,发现总是不能达到目的,fseek根本就是无效,所用的IDE环境是VC6

采用的C文件格式

void main()

{

FILE *pfile = fopen("a.txt","a+");

fputs("i love you\n",pfile);

fseek(pfile,0,SEEK_SET);

fwrite("here is write\n",1,sizeof("here is write\n"),pfile);

fclose(pfile);

}


这个总是失败,“here is write”没有写到文件开头,在文件结尾,返回的fseek为0


今天又重新找了一个例子,发现文件打开方式有问题。


void main()

{

FILE *pfile = fopen("a.txt","w");

fputs("i love you\n",pfile);

fseek(pfile,0,SEEK_SET);

fwrite("here is write\n",1,sizeof("here is write\n"),pfile);

fclose(pfile);

}


原来原因在于读写方式,看来还要认真学习一下了啊

查了一下fopen的a+

"a+" Open a file for reading and appending. All writing operations are performed at the end of the file, protecting the previous content to be overwritten. You can reposition (fseek, rewind) the internal pointer to anywhere in the file for reading, but writing operations will move it back to the end of file. The file is created if it does not exist.


原来是a模式是追加方式写文件,fseek是无效的,虽然知道a是追加模式,可是,我以为fseek能够改变这种情况,看来是不行的。优先级比较高的还是文件的打开模式啊

 

分享到:
评论

相关推荐

    fseek函数解析

    关于fseek函数的介绍,及使用 demo。关于fseek函数的介绍,及使用 demo。关于fseek函数的介绍,及使用 demo。

    fseek函数的用法 fseek函数的用法

    fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek函数的用法fseek...

    fseek函数使用举例

    用fseek函数可以实现改变文件的位置指针。 fseek(文件类型指针,位移量,起始点) “起始点”用0、1或2代替,0代表“文件开始”,1为“当前位置”,2为“文件末尾”。 例:在磁盘文件上存102上学生的数据。要求第1、...

    C语言fseek函数用法

    C语言中的`fseek`函数是一个非常重要的文件操作函数,用于改变文件指针的位置,从而在文件中进行随机访问。这个函数通常与`fopen`和`fclose`一起使用,以便在读写文件时实现更灵活的操作。在本文中,我们将深入探讨`...

    文件操作:fseek的用法

    描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。 返回值: 成功,返回0,否则...

    C语言fseek函数使用方法

    在C语言中,`fseek`函数是一个非常重要的文件操作函数,它用于在文件内部重新定位读写指针,以便于在文件的任意位置进行读写操作。理解并熟练掌握`fseek`函数的使用方法,对于进行复杂的文件操作至关重要。 `fseek`...

    php fseek函数读取大文件两种方法

    在这种情况下,`fseek`函数成为了一个有效的工具,它允许我们通过文件指针在文件内容中定位,而无需加载整个文件到内存中。本文将详细介绍两种使用`fseek`函数读取大文件的方法。 ### 方法一:逐行反向查找 这种...

    fseek函数的用法.docx

    - `stream`:这是指向 `FILE` 类型结构体的指针,该结构体包含了关于已打开文件的信息。`stream` 是通过 `fopen()` 函数获得的,用于标识要操作的文件。 - `offset`:这是一个长整型值,表示相对于 `origin` 参数...

    c语言fseek函数介绍

    fseek函数的用法

    读写文件,fseek不管用,fseeko64也不管用,我告诉你是什么原因?怎么解决

    FILE指针 fseek不管用,fseeko64也不管用,我告诉你是什么原因?怎么解决

    第20讲 6.2.20移动指针—fseek.doc

    此外,`fseek`在某些情况下可能会失效,比如在不可重定位的设备文件或者管道上。在使用`fseek`之后,通常需要通过`ftell`获取新的文件位置,或者通过`fflush`刷新缓冲区,确保数据正确写入。最后,`fseek`操作成功后...

    C语言fseek、fread、fwrite读写二进制文件

    在C语言中,读写二进制文件是通过标准库函数`fopen`, `fread`, `fwrite`, 和 `fseek`等实现的。这些函数是C语言I/O操作的核心,对于处理二进制数据(如图像、音频、程序代码等)尤其重要。下面将详细解释这些函数...

    Matlab文件操作及读txt文件(fopen,fseek,fread,fclose).pdf

    Matlab 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB 提供了一系列低层输入输出函数,专门用于文件操作。 文件的打开与关闭 在 Matlab 中,打开文件之前,必须先用 `...

    fseek函数的用法:将文件指针定位到指定的位置

    文件流是C语言中处理输入/输出的一种抽象方式,它封装了文件的具体操作。 2. `offset`:这是一个长整型变量,表示要移动的字节数。你可以指定一个正数来向前移动指针,或者指定一个负数来向后移动。例如,如果`...

    php使用file函数、fseek函数读取大文件效率对比分析

    在处理PHP读取大文件的场景中,常见的方式主要有两种:一种是利用file函数将文件内容一次性读入内存,另一种是利用fseek函数逐行或逐块读取。在本文中,我们将会深入探讨这两种方法,并分析它们在读取大文件时的效率...

    C语言中lseek()函数和fseek()函数的使用详解

    接下来是`fseek()`函数,它是标准I/O库的一部分,适用于通过`FILE *`指针操作的文件流。`fseek()`函数的原型如下: ```c int fseek(FILE *stream, long offset, int whence); ``` - `stream`参数是已打开的文件流...

    fseek_line(fid, offset, verbose):检索打开的txt文件的特定行数。-matlab开发

    在 MATLAB 开发环境中,我们经常会遇到需要处理文本文件的情况,比如读取、分析或操作文本数据。`fseek_line(fid, offset,...这个自定义函数扩展了 MATLAB 的文本处理能力,为处理文本文件提供了一种灵活而实用的方法。

    详解C语言中fseek函数和ftell函数的使用方法

    在C语言中,文件操作是不可或缺的一部分,而`fseek`和`ftell`函数则是对文件进行随机访问的关键工具。这两个函数可以帮助开发者在文件中精确地定位和获取信息。 `fseek`函数的主要功能是设置文件指针的位置。它的...

    文件操作之-随机读写,检测fseek(),ferror()-C语言教程

    在C语言中,文件操作是程序设计中必不可少的一部分。本教程将聚焦于文件的随机读写以及错误检测,主要涉及`fseek()`和`ferror()`两个关键函数。这两个函数在处理文件时起着至关重要的作用,使得我们能够高效、灵活地...

Global site tag (gtag.js) - Google Analytics