实现简单的交互
先实现一个简单的交互界面,Windows下主要用到了puts,gets,printf,这三个函数实现输入和输出。在linux或者mac下,则要用到readline这个函数。可以使用预处理实现跨平台编码,具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
#include<string.h>
static char buffer[2048];
//windows readline
char* readline(char* prompt)
{
fputs(prompt, stdout);
fgets(buffer,2048,stdin);
char* cpy = (char*)malloc(strlen(buffer)+1);
strcpy(cpy, buffer);
cpy[strlen(cpy)-1] = '\0';
return cpy;
}
void add_history(char* unused){}
#else
#include<editline/readline.h>
#include<editline/history.h>
#endif
int main(int argc,char** argv)
{
puts("Lispy Version 0.01");
puts("Press Ctrl+c to Exit\n");
while(1)
{
char* input = readline("lispy> ");
add_history(input);
printf("No you're a %s\n",input);
free(input);
}
return 0;
}