紫数 发表于 2007-9-29 19:23:10

送大家一个节省打印费的程序

2016-8-12 17:05 编辑 <br /><br />送大家一个节省打印费的程序
大家应该有过这样的体验,有时候需要打印一些资料,只要纯文本就可以了。于是把东西复制出来,以文本文件形式(.txt)保存下来。结果发现有很多空行,如果东西较长的话,打印这些空行肯定要浪费很多银子。当然一个一个手动的删也是可以的,但是太麻烦(如果您要打印几十页的话)。所以我为此做了一个小程序,用来压缩文件中的空行,单个空行直接删除,两个以上的空行减去一个。希望对大家有用!(保证不是病毒)
使用方法:本程序在Turbo C 2.0下编译通过。使用时输入源文件名(一定要是英文,不能超过8个字母,不带后缀名,如果原来是中文的请先修改文件名)和目标文件名即可。
例如,原来有一个名叫“吸血鬼.txt”的文件,先改名成“vampire.txt”。把文件与程序放在同一个目录下,运行程序,输入“vampire vampire2”,程序就会立刻将压缩好后的文本写入“vampire2.txt”。
程序见附件(spazip.exe)
附件(源程序,供参考):
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
FILE *fp1,*fp2;
char name1,name2,c;
int len1,len2;
printf("Please input the source and the object(name1 name2):");
scanf("%s%s",name1,name2);
len1=strlen(name1);
if(len1<=8)
{
*(name1+len1)='.';
*(name1+len1+1)='t';
*(name1+len1+2)='x';
*(name1+len1+3)='t';
*(name1+len1+4)='\0';
}
else
{
if(*(name1+7)=='.')
    *(name1+7)='1';
*(name1+8)='.';
*(name1+9)='t';
*(name1+10)='x';
*(name1+11)='t';
*(name1+12)='\0';
}
len2=strlen(name2);
if(len2<=8)
{
*(name2+len2)='.';
*(name2+len2+1)='t';
*(name2+len2+2)='x';
*(name2+len2+3)='t';
*(name2+len2+4)='\0';
}
else
{
if(*(name2+7)=='.')
    *(name2+7)='1';
*(name2+8)='.';
*(name2+9)='t';
*(name2+10)='x';
*(name2+11)='t';
*(name2+12)='\0';
}
if(strcmp(name1,name2)==0)
*(name2+7)='2';
if((fp1=fopen(name1,"rb"))==NULL)
{
printf("Can not open %s.",name1);
exit(0);
}
if((fp2=fopen(name2,"wb"))==NULL)
{
fclose(fp1);
printf("Can not write %s.",name2);
exit(0);
}
fread(&c,1,1,fp1);
while(!feof(fp1))
{
if(c==13)
    {
    fwrite(&c,1,1,fp2);
    fread(&c,1,1,fp1);
    fwrite(&c,1,1,fp2);
    fread(&c,1,1,fp1);
    if(c==13)
      {
      fseek(fp1,1L,1);
      fread(&c,1,1,fp1);
      while(c==13)
      {
      fwrite(&c,1,1,fp2);
      fread(&c,1,1,fp1);
      fwrite(&c,1,1,fp2);
      fread(&c,1,1,fp1);
      }
      }
    }
fwrite(&c,1,1,fp2);
fread(&c,1,1,fp1);
}
fclose(fp1);
fclose(fp2);
}

紫数 发表于 2007-9-29 19:53:12

2016-8-12 17:05 编辑 <br /><br />我明白了,大家钱多得都没地方用。
不喜欢就算了!:@

母形剑 发表于 2007-9-29 19:56:23

2016-8-12 17:05 编辑 <br /><br />答对了。。。。。。不过这个压缩。。。。。。好像。。。。。。

hideki 发表于 2007-9-29 19:59:52

2016-8-12 17:05 编辑 <br /><br />学校打印便宜~~
一角一张

堕落天使 发表于 2007-9-29 20:00:53

2016-8-12 17:05 编辑 <br /><br />。。。。。。
还是手动的好,自动的会脑残

haocun7326 发表于 2007-9-29 21:14:27

2016-8-12 17:05 编辑 <br /><br />听说国防科大附近的打印店一张只要几分钱。。。

堕落天使 发表于 2007-9-29 21:29:29

2016-8-12 17:05 编辑 <br /><br />。。。。。。
最节省自己钱的方法就是去上班的地方用公家的来弄,完全免费,想打多少就打多少

三味线 发表于 2007-9-30 09:17:07

2016-8-12 17:05 编辑 <br /><br />和复印店老板娘关系很好打10张以下不交银的某只爬过...
不过LZ 的好心偶心领了~~~~谢谢

Messi 发表于 2007-9-30 11:49:18

2016-8-12 17:05 编辑 <br /><br />这种软件其实很多,就是去多余的行和空格嘛
不过其实正规的文件你也不好这么搞,毕竟要考虑到视觉效果的
另,带到单位打印,爱打多少打多少

紫数 发表于 2007-9-30 12:19:19

2016-8-12 17:05 编辑 <br /><br />自家打印也要考虑节省纸张啊!:D 这样好了,本人现在做软件赏金猎人了。大家需要什么功能的软件就来发贴求我,我会想办法满足大家的要求的。:)

页: [1] 2
查看完整版本: 送大家一个节省打印费的程序