最近在写找迷宫路径的算法,遇到一个小小问题,百度不到, Google (也许英文太烂)不到,特意来问下。
要打开一个用户指定的迷宫文件
用 scanf 获取输入并存入 filepath[30]中,再用 fopen(filepath,"rb")打开文件,可正常打开。
但是用 fgets 获取的话,则打开文件失败!
我测试过了, filepath 中的内容是正确的。
不知道是什么原因。希望大家能帮忙解惑下,谢谢~
int load_map(char map[N][N] ,pos_seat &start, pos_seat &end){
//载入地图文件
char ch;
char filepath[30];
int x = 0;
int y = 0;
FILE *fp;
fgets(filepath,sizeof(filepath),stdin); //这种获取用户输入,打开文件失败!
//scanf("%s",filepath);//这种则可以成功
if((fp = fopen(filepath,"rb"))==NULL){
printf("文件打开失败!\n");
exit(0);
}
//.略过部分代码......
return 0;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.