所以,我尝试使用的readline充塞一些默认的文本的用户输入,并且无法得到它在OSX 10.5工作:使用的ReadLine对OS X rl_insert_text 10.5
// rl_insert_text_ex.c
// gcc -o rl_insert_text_ex rl_insert_text_ex.c -lreadline
#include <stdio.h>
#include <readline/readline.h>
int my_startup_hook(void) {
return rl_insert_text("ponycorns");
}
int main(int argc, char *argv[]) {
char *line;
rl_startup_hook = (Function*) my_startup_hook;
line = readline("What's your favorite mythical animal? ");
if (NULL == line || '\0' == *line) {
printf("Nothing given... :(\n");
}
else {
printf("That's funny, I love %s too!\n", line);
}
return 0;
}
此代码没有按” t甚至可以在10.4上进行编译(在10.4上没有关于_rl_insert_text
的定义,这有点令人讨厌),但在10.5上编译。但是,rl_insert_text()
'd文本从不显示,也不会以用户输入形式返回。该回调正在使用,rl_insert_text()
返回适当的值,(谢谢你,printf
),所以我不知道这里发生了什么。
我检查/usr/include/readline/readline.h
,并rl_insert_text()
是下:
/* supported functions */
这是容易混淆的下:
/*
* The following is not implemented
*/
我也是SOL,或者我只是做错了我?
为什么这个标签为ruby?代码看起来像是C代码 – 2009-07-10 15:15:38
好问题!固定的。 – rampion 2009-07-10 17:54:51