用C++写一个简易文本编辑器,给出的是一个实现“输入”功能的函数,但不能实现输入内容,只能输入标题

大家帮忙看看,看怎么改:#include<stdio.h>#include<stdlib.h>#include<iostream>#include<string.h>//... 大家帮忙看看,看怎么改:

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string.h>//由于该库对字符串封装的很好,故优先使用string类,而非c风格char!!!
using namespace std;
#define OK 0
#define MAX 200
typedef struct text
{
char str[MAX];//存储每一行的元素
struct text *next;//指向后一个节点的指针
int hang;//每一行元素的长度
}text;
char c;//命令
FILE *fp,*out;//文件指针
text *head;//链表的头指针
char filename[30];
int sa=0;//保存文本的标志
//fgets()函数正常时在两种情况下终止:1:读了(n-1)个字符,2.与换行符,另外读到文件末尾返回NULL

void edit()
{
void menu();
text *p1,*p2;
int i;
cout << "enter file name: ";
cin >> filename;
cout<<"contain: "<<endl;
p1=p2=new text();
head=p1;
head->hang=0;
i=1;
while(strcmp(p1->str,"end")!=0)
{
p1=new text();//分配内存
fflush(stdin);//在用fgets()输入之前必须先刷新一下缓冲区,否则会有意想不到的错误出现,这
//个问题让我调试了好几天才发现,太让人气愤了!!!
fgets(p1->str,MAX,stdin);
p1->str[strlen(p1->str)-1]=' ';//注意由于fgets()函数在得到字符串时会连换行符一起获得,故需要在此过滤掉
p1->hang=i;//行号
p2->next=p1;//链接
p2=p1;//保存头指针
i++;
}
p2->next=NULL;
menu();
}
展开
 我来答
z525067069
2012-06-10
知道答主
回答量:31
采纳率:0%
帮助的人:20.3万
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string.h>//由于该库对字符串封装的很好,故优先使用string类,而非c风格char!!!
using namespace std;
#define OK 0
#define MAX 200
typedef struct text
{
char str[MAX];//存储每一行的元素
struct text *next;//指向后一个节点的指针
int hang;//每一行元素的长度
}text;
char c;//命令
FILE *fp,*out;//文件指针
text *head;//链表的头指针
char filename[30];
int sa=0;//保存文本的标志
//fgets()函数正常时在两种情况下终止:1:读了(n-1)个字符,2.与换行符,另外读到文件末尾返回NULL

void edit()
{
void menu();
text *p1,*p2;
int i;
cout << "enter file name: ";
cin >> filename;
cout<<"contain: "<<endl;
p1=p2=new text();
head=p1;
head->hang=0;
i=1;
while(strcmp(p1->str,"end")!=0)
{
p1=new text();//分配内存
fflush(stdin);//在用fgets()输入之前必须先刷新一下缓冲区,否则会有意想不到的错误出现,这
//个问题让我调试了好几天才发现,太让人气愤了!!!
fgets(p1->str,MAX,stdin);
p1->str[strlen(p1->str)-1]=' ';//注意由于fgets()函数在得到字符串时会连换行符一起获得,故需要在此过滤掉
p1->hang=i;//行号
p2->next=p1;//链接
p2=p1;//保存头指针
i++;
}
p2->next=NULL;
menu();
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式