两个关于c++的问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 04:23:55
我想用C++做个简单的词法分析器,这个分析器可以找到我建立的一个C++程序,对他进行分析。比如说我建立一个小程序,保存在一个txt文档中,我应该用什么样的语句调出这个txt文档。
第二,c++中可以用什么样的语句实现逐个读入字符?
说麻烦对于白说,我来说具体点把
我建立一个experiment.txt
内容如下
int main()
{
int a=6, b=7;
int c;
c=a+b*6;
cout<<c<<endl;
return 0}
现在我要调用这个文件,对他进行词法分析。
我应该怎么找到这个文件的地址,将他赋给一个指针,
然后又怎样逐个调用文件的字符,用什么函数实现

用文件啊,很麻烦的,不过还是要看你的文法定义是不是很复杂

define BUFLEN 256;

static char lineBuf[BUFLEN];
static int linepos = 0;
static int bufsize =0;
static int EOF_flag = FALSE;

static int getNextChar(void)
{
if(!(linepos<bufsize))
{
lineno++;
if(fgets(lineBuf,BUFLEN -1,source))
{
if(EchoSource)
fprintf(listing,"%4d, %s",lineno,lineBuf);
bufsize = strlen(lineBuf);
linepos = 0;
return lineBuf[linePos +1];
}
else
{
EOF_flag = TRUE;
return EOF;
}
}
else
return lineBuf[linepos +1];
}

改一下后缀名就OK了!