FrogInForg 2014-11-26 14:58 采纳率: 0%
浏览 1600

写一个文本编辑器的问题

自己在写一个文本编辑器,读取文件的函数open()和打印view()存在问题,但是找不到错误啊
/*文本编辑器editor源代码*/
//预处理开始
#include
#include
#include
#include
typedef struct node
{
char ch;
struct node *next;
} node;

typedef struct Hnode
{
node next;
struct Hnode * next1;
} Hnode;
void open(Hnode * Hp)
{
FILE
fp;
Hnode q11,*q22;
node *p11,*p22,*hp;
char temp;
int count = 0,flags = 1;
char filename[30];//save the name od dom
printf("输入文件名,例如格式[c:\wb.txt]:");/
输入文件名格式*/
scanf("%s",filename);//输入文件名
fp=fopen(filename,"r");
if(fp==NULL)
{
printf("Open file error!\n");
getch();
exit(0);

}
q11 = Hp;
while(!feof(fp))
{
    count=0;
    flags=1;
    q22=(Hnode *)malloc(sizeof(Hnode));
    p11=(node *)malloc(sizeof(node));
    while((temp=fgetc(fp))!=10&&count<=76&&!feof(fp))//76 is the max
    {
        p22=(node *)malloc(sizeof(node));
        if(flags==1)
        {
            hp=p22;
            flags=0;
        }
        p22->ch=temp;
        p22->next=NULL;
        p11->next=p22;
        p11=p22;
        count++;
    }
    if(temp==10)
    {
        p22=(node *)malloc(sizeof(node));
        p22->ch=13;
        p22->next=NULL;

        p11->next=p22;
        p11=p22;
    }
    if(!feof(fp))
    {
        q22->next=hp;
        q22->next1=NULL;
        q11->next1=q22;
        q11=q22;
    }
}

fclose(fp);
Hp=Hp->next1;
return ;

}
void view(Hnode q)
{
node *p;
do
{
p=q->next;
while(p!=NULL&&p->ch>=32&&p->chch!=13&&p->ch!=-1)
{
putch(p->ch);
p=p->next;
}
q=q->next1;
if((p->ch==13||p->ch==-1)&&q!=NULL)
{
printf("\n");
}
}
while(q!=NULL);
}
//函数完成
int main()
{
Hnode
p;
open(p);
//view(p);
}

  • 写回答

2条回答 默认 最新

  • devmiao 2014-11-26 15:02
    关注

    编写一个文本编辑器最简单的方式(使用VC++,无需编写任何代码,只要鼠标操作即可完成):
    新建一个MFC Win32程序,然后选择SDI,然后其余默认,最后视图从CEditView,而不是从CView继承,再点完成。就写好了,至于源代码,自己可以慢慢研究。这个编辑器已经支持新建、打开、保存、剪切、复制、粘贴、查找、替换等功能。

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题