用 VC++写段读字符程序,就是从一个存在的文档中读出其内容,
比如:文档a.txt
内容 void main()
{
printf("i'm a student.");
return;
}
写个程序 这段文字读出来..........
怎么写哇?初学C++ ,不会写,高手帮忙.
这是我写的一段词法分析的程序,不知道那个读文件的那段程序加在哪。。
知道的可以帮我看一下吗。。谢谢了
我是编程初学者,有好多不明白的地方,还请大家多指点了
#include <stdio.h>
#define M 13
#define N 10
#define end -1
char a[N],c[100];
char WORD[M][N]={"and","if","else","int","while","struct","define","include","void","main","printf"};
int i;
void main()
{
void id();
void num();
char ch,a[10],c[100];
ch=getchar();
do
{
if (ch==' ')
ch=getchar();
else if(ch=='\n')
ch=getchar();
else if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
id(ch);
else if(ch>='0'&&ch<='9') //纠正错误 把原来的 a 该成 ch
num(ch);
}while(ch!=end)
}
void id(char b)
{
int k=0;
do{
if(k<10)
{
k=k+1;
a[k]=b;
}
else
{
printf("标识符太长!");
}
b=getchar();
}while((b>='a'&&b<='z')||(b>='A'&&b<='Z'));
for(i=0;i<N;i++)
{
if(WORD[i]==a)
break;
}
if(i<N)
{
for(k=1;k<=10;k++)
{
printf("%C",a[k]);
}
printf("--------关键字\n");
}
else
{
for(k=1;k<=10;k++)
{
printf("%C",a[k]);
}
printf("-------用户自定义标识符\n");
}
}
void num(char b)
{
if(b>='0'&&b<='9')
{
int i=0;
do{
if(i<100)
{
c[i]=b;
i=i+1;
b=getchar();
}
else
printf("--数字太长!\n");
}while(b>='0'&&b<='9');
}
}
[此贴子已经被作者于2006-12-26 18:12:58编辑过]