avatar
问C++文件路径的问题# Programming - 葵花宝典
h*g
1
该发泄时就发泄
最明智做法就是别抑制它,任其发泄几分钟,但要设定好自我放纵的界限。趁身旁
无人时哭上几声,或拍打一下桌椅,跺一跺脚,你的心情会变得好起来。
向朋友倾诉
当你把幸福和朋友一起分享时,很多人都会觉得幸福;当你把痛苦向朋友倾诉时,
痛苦就会减轻。因此,当你的坏情绪涌上心头时,不妨先做做深呼吸,伸伸懒腰,之后
给朋友打一个电话随便聊聊,你的坏心情也会在不知不觉中被化解。
“装出”一份好心情
心理研究发现:如果一个人老是想像自己进入某种情境,感受某种情绪,这种情绪
就十有八九真的会到来。装出好心情会让你的坏情绪在不觉间悄悄溜走。一个人在抑郁
的时候,可以多回忆愉快的时光,还可以用微笑来激励自己,要尽量多想快乐的事情。
高声朗读也会有帮助的,只是读书时要有表情,还要选择振奋精神而非抑郁的读物。
迅速进入工作角色
不愉快时,不妨迅速进入工作角色以忘掉烦恼。实在不能投入工作,就去帮同事的
忙,烦心事很快会被你的忙乱冲掉。
采取直接行动
为一件事烦恼可能会花几天时间,而行动起来解决它只要几分钟就够了。比方说,
求职面试后你迟迟得不到通知,你为此心神不宁。别烦自己了,马上打电话给面试你的
avatar
l*s
2
比如我有个叫Project的文件夹,里面有程序的可执行文件exec和数据文件夹data。
当我运行程序 $ ./exec, 程序会从data文件夹的文件比如data0.txt读相应的数据。
我的想法是如果我在source code里面给出相对的路径,比如./data/data0.txt,这样
我直接运行./exec时可以找到data0.txt,因为运行exec的当前文件夹和data相同。但
是如果我用perl来调用程序exec时,./就变成了perl文件所在的路径,就找不到我要的
文件。
但我又不想改成绝对路径,因为我希望我把程序copy到其他机器上也可以运行。我想到
的解决办法是给个environment variable比如叫$MYPATH,在程序运行前把$MYPATH改为
数据文件的绝对路径。
但我还是觉得麻烦,有没有办法在exec运行可以提取到exec运行的绝对路径,不管我是
直接运行或者用script,这样我就有办法得到数据文件的绝对路径?
thx!!!
avatar
w*x
3
其实这些道理都懂,关键是怎么开始突破最初的坏情绪,我不妨来支一招:
认识到自己情绪不好
avatar
t*t
4
Try to get the path from argv[0]. However this will not always work, as argv
[0] can be arbitrary set by exec() family kernel call.

【在 l********s 的大作中提到】
: 比如我有个叫Project的文件夹,里面有程序的可执行文件exec和数据文件夹data。
: 当我运行程序 $ ./exec, 程序会从data文件夹的文件比如data0.txt读相应的数据。
: 我的想法是如果我在source code里面给出相对的路径,比如./data/data0.txt,这样
: 我直接运行./exec时可以找到data0.txt,因为运行exec的当前文件夹和data相同。但
: 是如果我用perl来调用程序exec时,./就变成了perl文件所在的路径,就找不到我要的
: 文件。
: 但我又不想改成绝对路径,因为我希望我把程序copy到其他机器上也可以运行。我想到
: 的解决办法是给个environment variable比如叫$MYPATH,在程序运行前把$MYPATH改为
: 数据文件的绝对路径。
: 但我还是觉得麻烦,有没有办法在exec运行可以提取到exec运行的绝对路径,不管我是

avatar
a*l
5
Based on what you said, I assume the perl program is in the different folder
from the exec file folder. Then, apparently, I believe when calling the
exec file, you need to specify the path to the exec file in perl script (
otherwise how can the perl script find the exec file?). So, you should be
able to add one more argument to the exec file , which specifies the exec
file location. And , if that argument does not exist, just use the system
default path within exec program.
E.g., you may call

【在 l********s 的大作中提到】
: 比如我有个叫Project的文件夹,里面有程序的可执行文件exec和数据文件夹data。
: 当我运行程序 $ ./exec, 程序会从data文件夹的文件比如data0.txt读相应的数据。
: 我的想法是如果我在source code里面给出相对的路径,比如./data/data0.txt,这样
: 我直接运行./exec时可以找到data0.txt,因为运行exec的当前文件夹和data相同。但
: 是如果我用perl来调用程序exec时,./就变成了perl文件所在的路径,就找不到我要的
: 文件。
: 但我又不想改成绝对路径,因为我希望我把程序copy到其他机器上也可以运行。我想到
: 的解决办法是给个environment variable比如叫$MYPATH,在程序运行前把$MYPATH改为
: 数据文件的绝对路径。
: 但我还是觉得麻烦,有没有办法在exec运行可以提取到exec运行的绝对路径,不管我是

avatar
C*l
6
getenv("PATH")

【在 l********s 的大作中提到】
: 比如我有个叫Project的文件夹,里面有程序的可执行文件exec和数据文件夹data。
: 当我运行程序 $ ./exec, 程序会从data文件夹的文件比如data0.txt读相应的数据。
: 我的想法是如果我在source code里面给出相对的路径,比如./data/data0.txt,这样
: 我直接运行./exec时可以找到data0.txt,因为运行exec的当前文件夹和data相同。但
: 是如果我用perl来调用程序exec时,./就变成了perl文件所在的路径,就找不到我要的
: 文件。
: 但我又不想改成绝对路径,因为我希望我把程序copy到其他机器上也可以运行。我想到
: 的解决办法是给个environment variable比如叫$MYPATH,在程序运行前把$MYPATH改为
: 数据文件的绝对路径。
: 但我还是觉得麻烦,有没有办法在exec运行可以提取到exec运行的绝对路径,不管我是

avatar
b*n
7
you mean MYPATH??? PATH is definitely not what he wants

【在 C*******l 的大作中提到】
: getenv("PATH")
avatar
C*l
8
哦,明白了。lz要做的可以调用系统命令把当前路径写到一个文件里,然后再来读这个
文件。

【在 b******n 的大作中提到】
: you mean MYPATH??? PATH is definitely not what he wants
avatar
l*s
9
Thanks for your times and all the replies.
Yes, I put the path of executable file in the perl script. At beginning, I try to
use getcwd() to grab the path of executable file, but if I use the perl script, getcwd()
returns the path of the perl script, not the executable file.
I think I'd better stick with environmental variables, at least I don't need add
anything things once I put the correct path into environmental variables.

folder

【在 a****l 的大作中提到】
: Based on what you said, I assume the perl program is in the different folder
: from the exec file folder. Then, apparently, I believe when calling the
: exec file, you need to specify the path to the exec file in perl script (
: otherwise how can the perl script find the exec file?). So, you should be
: able to add one more argument to the exec file , which specifies the exec
: file location. And , if that argument does not exist, just use the system
: default path within exec program.
: E.g., you may call

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。