这个函数输入在C语言中意味着什么:MODELDIR“/ en-us / en-us”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个函数输入在C语言中意味着什么:MODELDIR“/ en-us / en-us”相关的知识,希望对你有一定的参考价值。
我从the PocketSphinx tutorial读了以下代码
config = cmd_ln_init(NULL, ps_args(), TRUE,
"-hmm", MODELDIR "/en-us/en-us",
"-lm", MODELDIR "/en-us/en-us.lm.bin",
"-dict", MODELDIR "/en-us/cmudict-en-us.dict",
NULL);
这是我第一次看到一个变量 - MODELDIR
- 在一个字符串旁边 - "/en-us/en-us"
。这怎么可能?我在C / C ++教程书中从未见过这样的东西!
如果我想搜索有关此内容的更多信息,我应该使用哪些关键字进行搜索?
答案
MODELDIR
是一个扩展为字符串的宏。 C将相邻的字符串连接成单个字符*,所以如果MODELDIR
是#define
d到"/foo/bar"
,这将导致以下函数调用:
config = cmd_ln_init(NULL, ps_args(), TRUE,
"-hmm", "/foo/bar/en-us/en-us",
"-lm", "/foo/bar/en-us/en-us.lm.bin",
"-dict", "/foo/bar/en-us/cmudict-en-us.dict",
NULL);
*)所以,写作
"Hello, " "World!"
与...完全相同
"Hello, World!"
以上是关于这个函数输入在C语言中意味着什么:MODELDIR“/ en-us / en-us”的主要内容,如果未能解决你的问题,请参考以下文章
C语言中,主函数输入了一个字符串,怎样在函数调用里也使用这个字符串?
* * * * * * * * * * * very good * * * * * * * * * * * 这个东西用c语言得输入啥才能让它输出?