这个函数输入在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#defined到"/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语言中,主函数输入了一个字符串,怎样在函数调用里也使用这个字符串?

C语言结构体函数的返回值是结构体结构体变量中的信息

C语言结构体函数的返回值是结构体结构体变量中的信息

* * * * * * * * * * * very good * * * * * * * * * * * 这个东西用c语言得输入啥才能让它输出?

C语言求助。急急

C语言中getchar()怎么用?