{
oneWord[nBuf++] = oneChar;
}
else if(oneChar == ':')
{
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '(')
{
// 函数的开始,找第二个括号
oneWord[nBuf++] = oneChar;
}
else if(oneChar == ')')
{
// 函数的结束
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '{')
{
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '}')
{
oneWord[nBuf++] = oneChar;
}
else if(oneChar == ';')
{
// 语句结束符
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '~')
{
// 析构函数符
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '\"')
{
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '*')
{
// 定义指针
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '.')
{
// .h
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '=')
{
oneWord[nBuf++] = oneChar;
}
else if(oneChar == '/')
{
// 如果是注释状态, 等待一行结束
//if(g_charFlag == explain)
{
//oneWord[nBuf++] = oneChar;
//string strWord = oneWord;
//vecWords.push_back(strWord);
//nBuf = 0;
////g_charFlag = noFlag;
//memset(oneWord, 0, 256);
//oneWord[nBuf++] = oneChar;
}
//else
{
oneWord[nBuf++] = oneChar;
}
}
else if(oneChar == ',')
{
oneWord[nBuf++] = oneChar;
}
else if(oneChar == ' ')
{
oneWord[nBuf++] = oneChar;
}
else
{
oneWord[nBuf++] = oneChar;
//printf("未处理情况:%c", oneChar);
//string strWord = "未处理情况:%s";
//printf("error, 未处理情况.");
//return -1;
}
}
oneChar=fgetc(fp);
}
fclose(fp);
// 写入文件
FILE *fpIn;
if ((fpIn= fopen("d:\\words.txt","w+"))== NULL)
{
printf("Cannot open infile.\n");
exit(0);
}
for(int i = 0; i < vecWords.size(); i++)
{
char szBuf[300];
memset(szBuf, 0, 300);
sprintf(szBuf, "%d. %s\n", i, vecWords[i].c_str());
fwrite(szBuf, strlen(szBuf), 1, fpIn);
//printf("%d. %s\n", i, vecWords[i].c_str());
}
fclose(fpIn);
// 语法解析
// 首先要对括号进行匹配,验证语法等
vector
vector
typedef struct
{
string funcName;
st