作者jane050177 (喵哩汪!!)
看板EE_DSnP
标题[问题] do dofile 的时候要输入路径才能开档
时间Mon Nov 15 18:28:08 2010
老师同学大家好 :)
我发现我在测试do command的时候
如果直接输入 do do1的时候 程式就会当掉QQ
但是如果输入file的路径就会没问题
也就是 "do ./dofiles/do1" 是OK的
所以请问到时候批改的时候
是会把所有的dofile放到跟执行档同一层吗?
还是我需要再修改读取路径的方法?
谢谢老师跟大家 :D
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.94.109
1F:推 ric2k1:也许你要检查一下 dofile 的开启是否成功? 11/15 20:45
2F:→ jane050177:噢噢我发现了 原来要加错误的警告提醒!! 11/15 21:13
3F:→ jane050177:那请问批改的时候会把所有的dofile放在同一层吗? 11/15 21:14
4F:→ jane050177:还是我需要去写档案的读取路径? 谢谢老师QQ! 11/15 21:14
5F:推 aldreamp:可是我判断没开成功时 呼叫errorOption 却不能呼叫QQ?? 11/15 21:53
6F:推 ric2k1:dofile 应该可以不用放在同一层, 反正用 ifstream 的 11/15 22:13
7F:→ ric2k1:constructor 或是 open() 去开档的时候他会根据你所给的 11/15 22:14
8F:→ ric2k1:路径+档名寻找。但以你原来说的如果 do1 是放在 dofiles 11/15 22:15
9F:→ ric2k1:目录底下,你直接下 do do1 应该是会找不到而 return 开档 11/15 22:16
10F:→ ric2k1:错误, 你程式中要去判断这样的错误, 免得 _dofile 是 11/15 22:17
11F:→ ric2k1:garbage 而你仍去继续执行 (就 crash 了...) 11/15 22:17
12F:→ ric2k1:To aldreamp: 不能呼叫的意思是 compile error 吗? 11/15 22:18
13F:推 aldreamp:是的 因为我想呼叫CmdExec::errorOption() 可是他说 11/16 12:17
14F:→ aldreamp:cannot call member function without object 於是我就 11/16 12:20
15F:→ aldreamp:CmdExec a; 用a去呼叫 然後他又说errorOption是protected 11/16 12:22
16F:→ aldreamp:然後我就发现根本不需要呼叫 只要判断dofile->fail()就好 11/16 12:25
17F:→ jane050177:懂了>\\\< 谢谢老师! 11/16 16:55