打开Help——Install New Software
点击Add,填入name随意,填入Loaction:http://download.eclipse.org/tools/cdt/releases/kepler
只需要勾选C/C++ DevelopmentTools即可,下面直接Next ->Next ->Finsh即可
安装完成后,点击
切换到c++工作界面OK,开始C语言之旅
举手之劳,帮你弄了。像这个题,没有点分一般是没人来的,但小可贵在钓,不在鱼。弄了算了。
本题的一个完整的c程序如下,win-tc和Dev-c++下运行通过。
#include <stdio.h>
#define MAXLEN 80
#define MAXLINE 200
char buffer[MAXLEN],fname[120]
char *lineptr[MAXLINE]
FILE *fp
void edit(),replace(),insert(),delete(),quit()
char comch[]="EeRrIiDdQq"/*命令符*/
void(*comfun[])()={edit,replace,insert,delete,quit}/*对应处理函数*/
int modified=0,/*正文被修改标志*/
last/*当前正文行数*/
char *chpt/*输入命令行字符指针*/
main()
{
int j
last=0
while(1)
{
printf("\nInput a command:[e,r,i,d,q].\n")
gets(buffer)/*读入命令行*/
for(chpt=buffer*chpt==''||*chpt=='\t'chpt++)/*掠过空白符*/
if(*chpt=='\0') continue/*空行重新输入*/
for(j=0comch[j]!='\0'&&comch[j]!=*chptj++)/*查命令符*/
if(comch[j]=='\0') continue/*非法命令符*/
chpt++/*掠过命令符,指向参数*/
(*comfun[j/2])()/*执行对应函数*/
fprintf(stdout,"The text is:\n")
for(j=0j<lastj++)/*显示正文*/
fputs(lineptr[j],stdout)
}
}
void quit()
{
int c
if(modified)/* 如正文被修改 */
{
printf("Save? (y/n)")
while(!(((c=getchar())>='a'&&c<='z')||(c>='A'&&c<='Z')))
if(c=='y'||c=='Y')
save(fname)/* 保存被修改过的正文 */
}
for(c=0c<lastc++)
free(lineptr[c]) /* 释放内存 */
exit(0)
}
void insert()
{
int k,m,i
sscanf(chpt,"%d%d",&k,&m) /* 读入参数 */
if(m<0||m>last||last+k>=MAXLINE)/* 检查参数合理性 */
{
printf("Error!\n")
return
}
for(i=lasti>mi--)/* 后继行向后移 */
lineptr[i+k-1]=lineptr[i-1]
for(i=0i<ki++) /* 读入k行正文,并插入 */
{
fgets(buffer,MAXLEN,stdin)
lineptr[m+i]=(char *)malloc(strlen(buffer)+1)
strcpy(lineptr[m+i],buffer)
}
last+=k /* 修正正文行数 */
modified=1/* 正文被修改 */
}
void delete()
{
int i,j,m,n
sscanf(chpt,"%d%d",&m,&n) /* 读入参数 */
if(m<=0||m>last||n<m) /* 检查参数合理性 */
{
printf("Error!\n")
return
}
if(n>last)
n=last/* 修正参数 */
for(i=mi<=ni++) /* 删除正文 */
free(lineptr[i-1])
for(i=m,j=n+1j<=lasti++,j++)
lineptr[i-1]=lineptr[j-1]
last=i-1 /* 修正正文行数 */
modified=1/* 正文被修改 */
}
void replace()
{
int k,m,n,i,j
sscanf(chpt,"%d%d%d",&k,&m,&n)/* 读入参数 */
if(m<=0||m>last||n<m||last-(n-m+1)+k>=MAXLINE)/* 检查参数合理性 */
{
printf("Error!\n")
return
}
/* 先完成删除 */
if(n>last)
n=last/* 修正参数 */
for(i=mi<=ni++) /* 删除正文 */
free(lineptr[i-1])
for(i=m,j=n+1j<=lasti++,j++)
lineptr[i-1]=lineptr[j-1]
last=i-1
/* 以下完成插入 */
for(i=lasti>=mi--)
lineptr[i+k-1]=lineptr[i-1]
for(i=0i<ki++)
{
fgets(buffer,MAXLEN,stdin)
lineptr[m+i-1]=(char *)malloc(strlen(buffer)+1)
strcpy(lineptr[m+i-1],buffer)
}
last+=k /* 修正正文行数 */
modified=1/* 正文被修改 */
}
save(char *fname) /* 保存文件 */
{
int i
FILE *fp
if((fp=fopen(fname,"w"))==NULL)
{
fprintf(stderr,"Can't open %s.\n",fname)
exit(1)
}
for(i=0i<lasti++)
{
fputs(lineptr[i],fp)
free(lineptr[i])
}
fclose(fp)
}
void edit() /* 编辑命令 */
{
int i
FILE *fp
i=sscanf(chpt,"%s",fname) /* 读入文件名 */
if(i!=1)
{
printf("Enter file name.\n")
scanf("%s",fname)
}
if((fp=fopen(fname,"r"))==NULL) /* 读打开 */
{
fp=fopen(fname,"w") /* 如不存在,则创建文件 */
fclose(fp)
fp=fopen(fname,"r") /* 重新读打开 */
}
i=0
while(fgets(buffer,MAXLEN,fp)==buffer)
{
lineptr[i]=(char *)malloc(strlen(buffer)+1)
strcpy(lineptr[i++],buffer)
}
fclose(fp)
last=i
}
纯新手要编辑器可以用
1、UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML 标签颜色显示、搜寻替换以及无限制的还原功能,一般用其来修改EXE 或 DLL 文件。能够满足你一切编辑需要的编辑器。
2、
Notepad++是一套非常有特色的自由软件的纯文字编辑器(许可证:GPL),有完整的中文化接口及支援多国语言撰写的功能(UTF8 技术)。它的功能比 Windows 中的 Notepad(记事簿)强大,除了可以用来制作一般的纯文字说明文件,也十分适合当作撰写电脑程序的编辑器。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支援宏以及扩充基本功能的外挂模组。[1]
Notepad++[2]是一款非常有特色的编辑器,是开源软件,可以免费使用。支持的语言: C, C++ , Java , C#, XML,Ada, HTML, PHP, ASP, AutoIt, 汇编, DOS批处理, Caml, COBOL, Cmake, CSS, D, Diff, ActionScript, Fortran, Gui4Cli, HTML, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make处理(Makefile), Matlab, INI文件, MS-DOS Style, NSIS, Normal text, Objective-C, Pascal, Javascript。[3]
如果以后你喜欢折腾了,折磨自己了,可以用vim
Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器。
如果你说的编译器,那么新手必需的,又喜欢的vc++6.0
不过,这封装了太多,让你连环境变量都不用弄的。微软的东西就这样,方便就行了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)