求文件操作程序(简单)
对一文本文件中
1.判断变量重复定义功能
如aaa=2 ........bbb=3....ccc=1.....
aaa=5 -----(aaa重复定义了 报错)
2.检查大括弧匹配错误功能
帮忙,写一下,谢谢
问题点数:60、回复次数:7Top
1 楼darkelf(神气的猪不酷)回复于 2002-09-23 16:15:31 得分 0
给你思路吧,自己动手,丰衣足食,不要太偷懒了哦:)
第一个问题好办,定义一个变量表,每次向表里插入的时候都搜索一下该变量是否已经存在,不存在则将该变量写如表中,很简单吧
第二个问题嘛,你要把需求说的清楚些,才能给你想的,呵呵Top
2 楼kylie(tomato)回复于 2002-09-23 16:20:12 得分 0
1,作业应该自己写。(台面上的话)
2,分数太少。(台下的话)
哈哈,开玩笑。Top
3 楼ziwuxian(子午线)回复于 2002-09-23 16:32:43 得分 0
这个问题比较简单,无非就是文件的读取,和读取内容的比较而已。Top
4 楼ice1010(Azrael)回复于 2002-09-23 16:36:09 得分 0
检查大括弧匹配错误功能:你就用一个变量就可以了,初始为0,遇到左+1,遇到右-1.看结果就可以知道匹配的情况了吧.
Top
5 楼utada776(招娣)回复于 2002-09-23 16:36:53 得分 0
别说别的拉
简单写写 我就把60分都给他
Top
6 楼wzt2000(愚人码头)回复于 2002-09-23 17:22:50 得分 60
typedef struct KEY{
char *str;
struct KEY *next;
}key;
key *AddKey(key *head,char *str)
{
if(head==NULL)
{
head=new key;
head->next=NULL;
head->str=new char[strlen(str)+1];
strcpy(head->str,str);
}
else
{
key *cur=head;
while(cur)
{
if(!strcmp(cur->str,str))
{
........错误清理
return NULL;
}
if(cur->next==NULL)
break;
cur=cur->next;
}
key *next=new key;
next->next=NULL;
cur->next=next;
next->str=new char[strlen(str)+1];
strcpy(next->str,str);
}
return head;
}
void main()
{
FILE *fp;
key *head=NULL;
..........打开文件
int nLeft=0;
int nRight=0;
char *string=new char[80];
while(!feof(fp))
{
if(fgets(string,80,fp)==NULL)
break;
char *ptr=strchr(string,'{');
while(ptr!=NULL)
{
nLeft++;
ptr++;
ptr=strchr(ptr,'{');
}
ptr=strchr(string,'}');
while(ptr!=NULL)
{
nRight++;
ptr++;
ptr=strchr(ptr,'}');
}
.....得到关键子str
head=AddKey(head,str);
if(head==NULL)
.........
}
}Top
7 楼utada776(招娣)回复于 2002-09-24 12:25:29 得分 0
谢了
我只要代码 不管怎样 给分Top




