我以管理员身份在windows计算机上运行以下程序
system("tracert 192.168.63.1 > d:\netmon\test.txt");输出被拒绝访问。在不创建文件的情况下运行tracert可以正常工作。那么为什么我不能在现有的netmon目录中创建该文件。我对那个目录有完全的访问权限。
有人能给我指个方向吗?谢谢
发布于 2011-02-16 00:16:38
在Perl中,反斜杠(\)是双引号内的特殊字符,用于“转义”其他特殊字符或指定其他无法键入的字符。示例中包含的序列"\n"和"\t"分别用于生成换行符和制表符。
为了在双引号内生成文字反斜杠字符,我们使用两个连续的反斜杠字符,因此:
system("tracert 192.168.63.1 > d:\\netmon\\test.txt");将产生您想要的结果。
Perl对待用单引号('')括起来的字符串的方式与对待双引号的方式不同。在单引号内,\不是一个特殊字符(实际上,它仍然有一点特殊,但远不如双引号内的特殊),因此您也可以将表达式编写为:
system('tracert 192.168.63.1 > d:\netmon\test.txt');发布于 2011-02-15 21:52:52
如果在路径中使用\,则需要加倍:
system("tracert 192.168.63.1 > d:\\netmon\\test.txt");发布于 2011-02-15 22:43:04
或者你可以直接使用斜杠:
system('tracert 192.168.63.1 > d:/netmon/test.txt');https://stackoverflow.com/questions/5004359
复制相似问题