fopen() 不适用于 gvim 编辑器

Posted

技术标签:

【中文标题】fopen() 不适用于 gvim 编辑器【英文标题】:fopen() does not working well with gvim editor 【发布时间】:2011-04-01 10:17:51 【问题描述】:

首先,我的英语不太好..请理解:)

当我尝试使用 fopen() 和 gvim 打开文本文件来写一些东西时,例如FILE *f = fopen("data.txt", "w");,我在任何地方都找不到 data.txt 文件。不仅是当前目录,而且在 Windows 资源管理器中。但是..没有文件它工作正常。 :|

我有疑问,所以我试过这个FILE *f = fopen("c:\my\..."data.txt", "w");指定路径,工作得很好!

我知道文本文件与执行文件夹存储在同一文件夹中。

当然,其他 IDE 运行良好。(MSVS 或 Dev C++) 我有什么问题??

(我使用的是 Windows7 和 gvim。)

// Modification
// source code

#include <stdio.h>
#include <stdlib.h>

int main(void)

    FILE *f = NULL;
    int name[10];

    if((f = fopen("data.txt", "w")) == NULL)
        printf("sorry..\n");
        system("pause");
        exit(1);
    
    fprintf(f, "%s\n", "Dennis");
    fclose(f);

    if((f = fopen("data.txt", "r")) == NULL)
        printf("sorry2..\n");
        system("pause");
        exit(1);
    
    fscanf(f, "%s", name);
    printf("%s\n", name);

    fclose(f);
    system("pause");
    return 0;
 // I think it's no problem. I've tried different ways to try several times.

我会编译这个 -> 地图:! gcc % -o %<.exe vimrc. cntl f9 vim fopen fscanf windows>

【问题讨论】:

我怀疑这与您使用 gvim 的事实有关。 你能用五行或十行代码重现这个问题,你可以在这里粘贴吗? 每次都要指定路径吗?很麻烦。。 给萨诺德。当然。但很难看到:) if((f = fopen("data.txt", "w")) == NULL) 一些警告并退出.. fprintf(f, "%s\n", "丹尼斯"); f关闭(f); if((f = fopen("data.txt", "r")) == NULL) ... fscanf(f, "%s", name); f关闭(f); // 文件不存在,但正在工作。就是这样。。 【参考方案1】:

我只能猜测,但我认为您的问题是 gvim 没有更改为您的文件目录。

对此有一个简单的补救措施:autochdir

尝试使用 Windows 的搜索应用程序来定位您的 data.txt。如果你从开始菜单启动 gvim,它们应该在 "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Vim 7.3"。

【讨论】:

谢谢你 hynek :) autochdir 是个好答案!但我找不到data.txt。是的谜 我想它会在您的文件系统中的某处。试试 windows finder(按 Windows-f)。 :) 我之前尝试过(在文件夹选项中选中“显示隐藏文件”)。但我找不到... 你能编辑你的问题并详细说明你在做什么吗?这是一种猜谜游戏,现在可以帮助你。你如何编译?你如何启动程序?您使用哪个编译器? 感谢您的关注。我现在将编辑我的问题。 :)

以上是关于fopen() 不适用于 gvim 编辑器的主要内容,如果未能解决你的问题,请参考以下文章

GVIM中文乱码问题(文本及菜单乱码)

Knockout 验证不适用于 Kendo 文本编辑器

ubuntu下定制Vim/Gvim及使用技巧

Gvim7.4简单配置

Android Studio - XML 编辑器自动完成功能不适用于支持库

函数“setSeconds( )”不适用于 p5.js Web 编辑器