turbo c写的程序,请高手看一下.

来源:百度知道 编辑:UC知道 时间:2024/06/22 14:09:32
文本中有一列数据,我要一行一行的取.然后将这一行数据的倒数第二个数字加1将最后一个数字变为0.最后将这个文本中所有的数据处理结果写到别一个文本文档中.我这个程序只处里了一行.文本中还有多行根本没有处理.请高手指教一下.
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
main()
{
FILE *fp,*fpp;
char ch;
int i;
int j;
char line[10];
if((fp=fopen("c:\\a.txt","r"))==NULL)
{
printf("\n Don't Open Files!");
getch();
exit(1);
}
else
{
i=0;
ch=fgetc(fp);

while(ch!=EOF)
{
while(ch!='\n')
{
line[i]=ch;
i++;
ch=fgetc(fp);
}

j=i-1;
line[i-2]=(char)(line[i-2]+1);
line[i-1]='0';

if((fpp=fopen("c:\\b.txt","wt+"))==NULL)
{
printf("error! File must is NULL");
exit(0);
} else
{
for(i=0;i<j+1;i++)
{
fputc(line[i],fpp);
}
fclose(fpp);

完整程序如下:

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
main()
{
  FILE *fp,*fpp;
  char ch,line[79];
  int i,j;
  if((fp=fopen("c:\\a.txt","r"))==NULL)
  {
    printf("\n Don't Open Files!");getch();exit(1);
  }
  if((fpp=fopen("c:\\b.txt","wt+"))==NULL)
  {
    printf("error! File must is NULL");exit(0);
  }
  while(!feof(fp))
  {
    fgets(line,sizeof(line),fp);
    i=0;while(line[i] && line[i]!=13) i++;
    if (i>3) {line[i-3]++;line[i-2]='0';}