dev-c设置文件读取路径??

dev-c设置文件读取路径??,第1张

if(my=fopen("E:\\test\\aaa","r"))==NULL) {

my=fopen("E:\\test\\aaa","wb+")

if(my==NULL){

printf("cannot open\n")

}

}

不就可以了?

复杂些的这样

int main(int argv,char **argc){

char *path = argc[0]//参数0就是程序本身嘛.

}

如果想完美地解决,可以这样

char filename[MAX_PATH]

GetModuleFileName(NULL,filename,sizeof(path))

*(strrchr(filename,'猛键\\')) = 0

strcat(filename,"aaa")

GetModuleFileName能找到程序的完整路径,只要去掉文件名就可以了.

if那行后面确实多加了个分号,这个也会产生问题(这个只是我参考上枝扰巧面答案才注意的.) 不过如果跨目录去调用那个程李饥序的时候,依然会找不到文件,这个时候就需要我提供的方法了.

if(!(fp=fopen("map.txt"备塌,"r"))) exit(0)

改成蚂拆

if(!(fp=fopen("map.txt","r"))) exit(0)

你多写了一个仿物圆

dev头文件和源文件联系起来的步骤如下:

1、谭浩强老师的《C程序设计》一书中提烂友到,编泽器预处理时,要对#include命令进行"文件包含处理":将headfile.h的全部内容卜历猛复制到#includeheadfile.h"处;

2、程序编译的时候,并不会去找b.cpp文件中的函数实现,只有在link的时候才进行这个工作。我们在b.cpp或c.cpp中用#include"a.h"实际上是引入相关声明,使型桥得编译可以通过,程序并不关心实现是在哪里,是怎么实现的。源文件编译后生成了目标文件(.o或.obj文件〉,目标文件中,这些函数和变量就视作一个个符号。在link的时候,需要在makefile里面说明需要连接哪个.o或.cbj文件(在这里是b.cpp生成的.o或.obj文件〕,此时,连接器会去这个.o或.obj文件中找在b.cpp中实现的函数,再把他们build到makefile中指定的那个可以执行文件中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12132284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存