sususususu 发表于 2022-12-31 09:44:07

文件打开关闭问题

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

int main(void)
{
        FILE *fp;
        int ch;
       
        if ((fp = fopen("hello.txt", "r")) == NULL)
        {
                printf("打开文件失败!\n");
                exit(EXIT_FAILURE);
        }
       
        while ((ch = gets(fp)) != EOF)
        {
                putchar(ch);
        }
        fclose(fp);
       
        return 0;
}



windows Dev-C++
请问我要在哪创建fp文件才能让该程序运行

额外减小 发表于 2022-12-31 09:46:44

我来教你!

额外减小 发表于 2022-12-31 09:48:13

在你的可执行文件(.exe)所在的文件夹里面创建一个“Hello.txt”就可以了

额外减小 发表于 2022-12-31 09:53:58

等等,你看我操作

额外减小 发表于 2022-12-31 09:56:07

创建完文件以后
你的fopen(...)命令就会自动帮你找到并读取这个文件
{:10_256:}
如果这个答案对您有帮助
请不要忘了设置最佳答案,谢谢!

人造人 发表于 2022-12-31 10:20:11

dev c++ 应该能用这个函数吧,如果能用这个函数的话,输出的那个目录就是了

#include <stdio.h>
#include <unistd.h>

int main(void) {
    char buff;
    puts(getcwd(buff, 1024));
    return 0;
}

人造人 发表于 2022-12-31 10:22:34

windows 貌似是这个函数?不知道
上面那个不能的话,试试这个
#include <stdio.h>
#include <direct.h>

int main(void) {
    char buff;
    puts(_getcwd(buff, 1024));
    return 0;
}

学习编程中的Ben 发表于 2022-12-31 11:09:47

额外减小 发表于 2022-12-31 09:48
在你的可执行文件(.exe)所在的文件夹里面创建一个“Hello.txt”就可以了

支持

ba21 发表于 2022-12-31 20:25:37

fopen("hello.txt", "r") // 编译生成的exe所在路径(相对路径)
fopen("D:\\hello.txt", "r") // 指定个绝对路径

sususususu 发表于 2023-1-1 11:12:57

额外减小 发表于 2022-12-31 09:53
等等,你看我操作

我的程序运行不了,所以没有可运行的t.exe。所以我去拿了其他程序的可运行 .exe然后改名为t.exe,虽然不知道正不正确,但改名后的t.exe内存改变了。但仍然无法运行,显示错误       
cannot convert 'FILE* {aka _iobuf*}' to 'char*' for argument '1' to 'char* gets(char*)'
怎么办呢

sususususu 发表于 2023-1-1 11:17:38

学习编程中的Ben 发表于 2022-12-31 11:09
支持

我的程序运行不了,所以没有可运行的t.exe。所以我去拿了其他程序的可运行 .exe然后改名为t.exe,虽然不知道正不正确,但改名后的t.exe内存改变了。但仍然无法运行,显示错误       
cannot convert 'FILE* {aka _iobuf*}' to 'char*' for argument '1' to 'char* gets(char*)'
怎么办呢

学习编程中的Ben 发表于 2023-1-1 11:19:23

页: [1]
查看完整版本: 文件打开关闭问题