文件打开关闭问题
#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文件才能让该程序运行 我来教你! 在你的可执行文件(.exe)所在的文件夹里面创建一个“Hello.txt”就可以了 等等,你看我操作 创建完文件以后
你的fopen(...)命令就会自动帮你找到并读取这个文件
{:10_256:}
如果这个答案对您有帮助
请不要忘了设置最佳答案,谢谢! dev c++ 应该能用这个函数吧,如果能用这个函数的话,输出的那个目录就是了
#include <stdio.h>
#include <unistd.h>
int main(void) {
char buff;
puts(getcwd(buff, 1024));
return 0;
}
windows 貌似是这个函数?不知道
上面那个不能的话,试试这个
#include <stdio.h>
#include <direct.h>
int main(void) {
char buff;
puts(_getcwd(buff, 1024));
return 0;
}
额外减小 发表于 2022-12-31 09:48
在你的可执行文件(.exe)所在的文件夹里面创建一个“Hello.txt”就可以了
支持 fopen("hello.txt", "r") // 编译生成的exe所在路径(相对路径)
fopen("D:\\hello.txt", "r") // 指定个绝对路径 额外减小 发表于 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*)'
怎么办呢 学习编程中的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*)'
怎么办呢 额
页:
[1]