跪求C语言编写的简易文本器代码~帮我写写吧,一定要能运行的。(可以运行再加100)

能用Visual C++ 和WIN-TC执行的最好,只要一些基本的功能,尽量模仿windows操作,界面不做要求。。。只要有些查找,替换。移动。功能就好
大概需要400行左右就够了。各位能人帮我写个吧,运行流畅了可以加分。。
最理想是可以执行后在主界面选1到几,然后最后还可以返回主界面的。。
最需要的是无错误的代码。。不能运行的功能再多也无用
流畅的话功能少点也没关系,希望各位高手抽出点时间帮帮忙。
代码放不上来可以写在自己空间留个地址也行啊。。

#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#include <conio.h>
int i=0,j=1;//i记录文件打开状态,0代表空,1代表非空,2代表打开出错
int n=0;//记录文件中字符的个数
char addr[120],Buffer[2000],u;
FILE *fp;
void Cut(FILE*);

FILE *Newfile(FILE *fp)//--------新建文件------
{

fp=fopen(addr,"w+");//新建可写文件

if(fp==NULL)
printf("Open file error\n");
else
printf("Open file seccess\n");
addr[0]='\0';
return(fp);
}

FILE *Openfile(FILE *fp)//------打开文件-------
{
fp=fopen(addr,"r+");
if(fp==NULL)
{
i=2;
printf("Open file error\n");
}
addr[0]='\0';
return(fp);
}

//--------字符串[输入]并显示
FILE *Input(FILE *fp)
{
char str[1000];
int j=0;
if(i==0)
{
printf("Input your words:\n");
gets(str);
}
if(i==1)
{
while(Buffer[j])
{
str[j]=Buffer[j];
j++;
}
str[j]='\0';
}
if((fputs(str,fp))==0)
printf("Input secceed!\n");
printf("试试:str=");

printf("%s\n",str);

i=1;
rewind(fp);
return(fp);
}

//---------字符串输出显示------
FILE * Output(FILE *fp)
{

Buffer[0]='\0';
char ch;
while((ch=fgetc(fp))!=EOF)
{
Buffer[n]=ch; //--缓冲
n++;
putchar(ch);
}
printf("共输入%d个字符",n);
n=0;
rewind(fp);
return (fp);
}

void choice( )//---------主窗口命令选择-------
{
j=1;
while(j==1)
{
j=1;
while(j==1)
{
system("cls");
printf("文件(F) 编辑(E) \n");
u=getch();
if(u!='f'&&u!='F'&&u!='e'&&u!='E')
j=1;
else j=0;
}

j=1;

system("cls");
switch(u)
{
case'f':
case 'F': printf("文件(F) 编辑(E) \n");
printf("新建(N)\n");
printf("打开(O)\n");
printf("关闭(X)\n");
j=0;u=getch();
break;
case'e':
case 'E': printf("文件(F) 编辑(E) \n");
printf("\t剪切(T)\n");
printf("\t复制(C)\n");
printf("\t粘贴(P)\n");
printf("\t删除(L)\n");j=0;u=getch();break;
default:
j=0;
}
}
j=1;
}

char comment()//执行下一层命令
{
j=1;
while(j==1)
switch(u)//-------考虑把它做成个函数 。。。。。。。。。。
{
case'n':
case 'N': printf("输入完整路径及文件名:");gets(addr);
system("cls");
printf("文件(F) 编辑(E) \n");
fp=Newfile(fp);
fp=Input(fp);
j=0;break;//新建
case'o':
case'O':printf("请输入完整路径及文件名:");gets(addr);
system("cls");printf("文件(F) 编辑(E) \n");
fp=Openfile(fp);
if(i!=2) fp=Output(fp); getch();
j=0;
break;//打开
case't':
case'T':Cut(fp);getch();break;//剪切
case'l':
case'L':printf("输入要删除的路径及文件:");gets(addr);
if(fp!=NULL)
fclose(fp);
remove(addr);addr[0]='\0';
j=0;break;
case'x':
case 'X':if(fp!=NULL)
fclose(fp);
exit(0);j=0;break;

default :printf("@@@请按任意键重新操作");getch();choice();

}
choice(); u=comment();
return(u);
}

void Cut(FILE *fp)
{
long int x=0,y,z;
char p,ch;
j=1;
i=1;
Output(fp);
fgets(Buffer,n,fp);
printf("看看:%s",Buffer);
rewind(fp);
printf("\n");
while(j==1)
{
fseek(fp,x,0);
p=getch();

if(fgetc(fp)==EOF)
{
j=0;
p='q';

}
else
fseek(fp,-1,1);

if(p=='d')
{
if((ch=fgetc(fp))!=EOF)
{
fseek(fp,-1,1);
putchar(ch);
}
x++;
}

if(p=='a'&&x>=1)
{
if(fgetc(fp)!=EOF)
{
x--;
putchar(ch);
}

}

if(p=='s')
y=x;

if(p=='w')
{
j=0;
while(1)
{
if(Buffer[x]=='\0')
{
Buffer[y]='\0';
break;
}
Buffer[y]=Buffer[x];
x++;
y++;
}

}

if(p=='q')
break;
}
rewind(fp);
Input(fp);Output(fp);
i=0;
return;
}

//********************主函数****************************
void main()
{

//-----窗口模拟-------

choice(); //

system("cls");

printf("文件(F) 编辑(E) \n");
comment(); //
printf("$#$#$#$请按任意键重新操作");
getch();
system("cls");
fclose(fp);
}
这个可以在VC++上面运行 其实网上有不少这样的
http://blog.sina.com.cn/s/blog_3d85b3e50100006m.html 如这就是其中之一
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-22
真的好想回答你的问题,可惜我也不会啊。
可以用MFC编,不是很难。
相似回答