首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >File program - fseek不工作

File program - fseek不工作
EN

Stack Overflow用户
提问于 2013-06-26 02:40:19
回答 1查看 3K关注 0票数 1

在我的代码中,我无法让这个函数运行起来。我写的文本没有在我指出的点上开始,我也不知道为什么。它应该从\n开始写入,然后覆盖所有的文本文件。即使我用a打开它,它也不能到达我通过参数命令的地方。

代码语言:javascript
复制
   fclose(file);
    FILE *file_a = fopen("ex6.txt", "w");

    fseek(file_a, -1, SEEK_END);

    puts("Write text to add:");
    while((letter = getchar()) != '\n')
    {
        fputc(letter, file_a);
    };

这是怎么回事?为什么这个不起作用?

EN

回答 1

Stack Overflow用户

发布于 2013-06-26 04:24:53

仅当以二进制模式打开文件时,才能导航到绝对位置。当在文本模式下打开时,fseek()不能导航到文件中除0(文件开头)之外的绝对位置,尝试这样做将导致未定义的行为。但是,您可以导航到ftell()返回的文件中的引用。其原因是由于某些操作系统对某些字符的处理;有些实现允许这样做,但POSIX并不强制这样做。

我知道你在评论中解决了这个问题,这只是为了结束。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17305062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档