C的TXT电子书阅读器(DOS)
可惜MS-DOS不是中国人写的,不支持中文。
/* Note:Your choice is C IDE */
#include "stdio.h"
main(int argc, char *argv[])
{
FILE *fp;
char ch;
int num=0,max;
int line=0;
if((fp=fopen(argv[1],"rt"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}
while(ch!=EOF)
{
if(wherex()==1) {num++;printf("%d: ",num);}
putchar(ch);
ch=fgetc(fp);
}
max=num;
num=0;
fclose(fp);
while(1)
{
num=0;
fp=fopen(argv[1],"rt");
ch=fgetc(fp);
while(ch!=EOF)
{
if(wherex()==1) {num++;printf("%d: ",num);}
if(num==line+24) break;
putchar(ch);
ch=fgetc(fp);
}
printf("Which line do you want going to?(Most %d)",max);
scanf("%d",&line);
if(line<=0) exit(1);
}
}
相关文档:
简介
本文是为了满足开发人员的需要而写的。我们总结了一套指南,无论作为开发人员还是顾问,这些指南多年来一直都很好地指导着我们,我们把它们作为建议提供给您,希望对您的工作有所帮助。您也许不赞同其中的某些指南,但我们希望您会喜欢其中的一些并在您的编程或移植项目中使用它们。
风格与指南
使用一种使代码具 ......
GDB
是
GNU
开源组织发布的一个强大的
UNIX
下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像
VC
、
BCB
等
IDE
的调试,但如果你是在
UNIX
平台下做软件,你会发现
GDB
这个调试工具有比
VC
、
BCB
的图形化调试器更强大的功能。所谓
“
寸有所长,尺有所短
”
就是这个道理 ......
exercise2.4
void squeeze(char s[],char t[])
{
int i,j,k;
int lens,lent;
lens=strlen(s);
lent=strlen(t);
for(i=0,k=0;i<lens;i++)
{
for(j=0;j<lent;j++)
if(s[i]==t[j])
break;
if(j==lent)
s[k++]=s[i];
}
s[k]='\0';
}
exercise2.5
int any(char s[],char t[ ......
一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放
,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放
,
若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方 ......
12.1 位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ &nb ......