如何从命令提示符将字符串传递给 omnetpp 模拟
How to pass a string to omnetpp simulation from the command prompt
在我的 .ned 文件中有一个简单的模块
simple Txc1
{
parameters:
int dummy_number = default(10);
}
当我 运行 通过指定 dummy_number
从命令提示符进行模拟时,我想要
opp_run -l tictoc omnetpp.ini --**.dummy_number=15
dummy_number
在我的模拟中等于 15。
但是当我想指定一个字符串而不是整数时
simple Txc1
{
parameters:
string dummy_string = default("Some dummy string");
}
opp_run -l tictoc omnetpp.ini --**.dummy_string="Test"
我收到以下错误
Cannot evaluate parameter 'dummy_string':(omnetpp::cModule)Tictoc1: unknown parameter 'Test' -- in module (Txc1) Tictoc1.tic (id=2), during network setup
为什么我的字符串只是一个值而被视为参数,我该如何避免这个问题?
谢谢
只要您的字符串不包含 space,请在引号前添加反斜杠,即:
opp_run -l tictoc omnetpp.ini --**.dummy_string=\"TestWithoutSpace\"
在我的 .ned 文件中有一个简单的模块
simple Txc1
{
parameters:
int dummy_number = default(10);
}
当我 运行 通过指定 dummy_number
从命令提示符进行模拟时,我想要
opp_run -l tictoc omnetpp.ini --**.dummy_number=15
dummy_number
在我的模拟中等于 15。
但是当我想指定一个字符串而不是整数时
simple Txc1
{
parameters:
string dummy_string = default("Some dummy string");
}
opp_run -l tictoc omnetpp.ini --**.dummy_string="Test"
我收到以下错误
Cannot evaluate parameter 'dummy_string':(omnetpp::cModule)Tictoc1: unknown parameter 'Test' -- in module (Txc1) Tictoc1.tic (id=2), during network setup
为什么我的字符串只是一个值而被视为参数,我该如何避免这个问题? 谢谢
只要您的字符串不包含 space,请在引号前添加反斜杠,即:
opp_run -l tictoc omnetpp.ini --**.dummy_string=\"TestWithoutSpace\"