| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1233 人关注过本帖
标题:高手求助~~编译出错,记忆体不能written,请指出问题所在!
取消只看楼主 加入收藏
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
高手求助~~编译出错,记忆体不能written,请指出问题所在!
//cmp.c  讀ID3V2並歸檔相應信息。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//#include<ctype.h>
#define SIZE 1024

void search(FILE *fp1,FILE *fp2,FILE *fp3,FILE *fp4)
{
  int count,i,j=0,flag=0;
  char ch=0;
  char pear[7][4]={"TALB","TYER","TCON","TPE1","TIT2","TRCK","USLT"},apple[5*SIZE];
 
  
  rewind(fp2);
  fputc('\t',fp2);    //write into sql1.txt
  rewind(fp1);
  ch=fgetc(fp1);
  while('%'!=ch&&(flag!=1))

  {
   
    count=0;
   
    while((((char)9)!=ch)&&('%'!=ch))
    {      
      apple[count]=ch;
//      printf("%c",apple[count]);   //ok
      ++count;
      ch=fgetc(fp1);
    }//whileover                   //ok
   
//    printf("%ld ",ftell(fp1));
    if(0==(memcmp(apple,pear[0],4))) //ok
    {
//      printf("compare right!");     //ok
      flag=1;
      for(i=0;i<=count-4;++i)
      {
        apple[i]=apple[i+5];
      }
      fwrite(apple,(count-4),1,fp2);   //第一字段信息已輸出
      fputc((char)9,fp2);
//     
      
//      
      }//ifover
    memset(apple,0,sizeof(apple));

//    while(i>totalsize-10) break;
   
    ch=fgetc(fp1);
  }//whileover

   rewind(fp1);
   ch=fgetc(fp1);
  while('%'!=ch)

  {
   
    count=0;
   
    while(((char)9)!=ch&&('%'!=ch))
    {      
      apple[count]=ch;
//      printf("%c",apple[count]);   //ok
      ++count;
      ch=fgetc(fp1);
    }//whileover                   //ok
   
   
//    printf("%ld ",ftell(fp1));
    if(0==(memcmp(apple,pear[1],4))) //ok
    {
//      printf("compare right!");     //ok
      for(i=0;i<=count-4;++i)
      {
        apple[i]=apple[i+5];
      }
      fwrite(apple,count-4,1,fp2);   //第一字段信息已輸出
      fputc((char)9,fp2);
//      ++j;
      
//      if(j>=3)  break;
      }//ifover
    memset(apple,0,sizeof(apple));
//    printf("not found!\n");
//    if(j>=3)  break;
//    while(i>totalsize-10) break;
   
    ch=fgetc(fp1);
  }//whileover
   rewind(fp1);
   ch=fgetc(fp1);
  while('%'!=ch)

  {
   
    count=0;
   
    while(((char)9)!=ch&&('%'!=ch))
    {      
      apple[count]=ch;
//      printf("%c",apple[count]);   //ok
      ++count;
      ch=fgetc(fp1);
    }//whileover                   //ok
   
   
//    printf("%ld ",ftell(fp1));
    if(0==(memcmp(apple,pear[2],4))) //ok
    {
//      printf("compare right!");     //ok
      for(i=0;i<=count-4;++i)
      {
        apple[i]=apple[i+5];
      }
      fwrite(apple,count-4,1,fp2);   //第一字段信息已輸出
      fputc((char)9,fp2);
//      ++j;
      
//      if(j>=3)  break;
      }//ifover
    memset(apple,0,sizeof(apple));
//    printf("not found!\n");
//    if(j>=3)  break;
//    while(i>totalsize-10) break;
   
    ch=fgetc(fp1);
  }//whileover
//    fputc('\n',fp2);
   
   
   fputc('\t',fp3);  // writer into sql2.txt
   rewind(fp1);
   ch=fgetc(fp1);
  while('%'!=ch)

  {
   
    count=0;
   
    while(((char)9)!=ch&&('%'!=ch))
    {      
      apple[count]=ch;
//      printf("%c",apple[count]);   //ok
      ++count;
      ch=fgetc(fp1);
    }//whileover                   //ok
   
   
//    printf("%ld ",ftell(fp1));
    if(0==(memcmp(apple,pear[3],4))) //ok
    {
//      printf("compare right!");     //ok
      for(i=0;i<=count-4;++i)
      {
        apple[i]=apple[i+5];
      }
      fwrite(apple,count-4,1,fp3);   //第一字段信息已輸出
      fputc((char)9,fp3);
      fputc((char)9,fp3);
      fputc((char)9,fp3);
//      ++j;
      
//      if(j>=3)  break;
      }//ifover
    memset(apple,0,sizeof(apple));
//    printf("not found!\n");
//    if(j>=3)  break;
//    while(i>totalsize-10) break;
   
    ch=fgetc(fp1);
  }//whileover
  fputc('\t',fp4);  // writer into sql3.txt
   rewind(fp1);
   ch=fgetc(fp1);
  while('%'!=ch)

  {
   
    count=0;
   
    while(((char)9)!=ch&&('%'!=ch))
    {      
      apple[count]=ch;
//      printf("%c",apple[count]);   //ok
      ++count;
      ch=fgetc(fp1);
    }//whileover                   //ok
   
   
//    printf("%ld ",ftell(fp1));
    if(0==(memcmp(apple,pear[4],4))) //ok
    {
//      printf("compare right!");     //ok
      for(i=0;i<=count-4;++i)
      {
        apple[i]=apple[i+5];
      }
      fwrite(apple,count-4,1,fp4);   //第一字段信息已輸出
      fputc((char)9,fp4);
//      ++j;
      
//      if(j>=3)  break;
      }//ifover
    memset(apple,0,sizeof(apple));
//    printf("not found!\n");
//    if(j>=3)  break;
//    while(i>totalsize-10) break;
   
    ch=fgetc(fp1);
  }//whileover
//   fputc('\t',fp4);  // writer into sql3.txt
   rewind(fp1);
   ch=fgetc(fp1);
  while('%'!=ch)

  {
   
    count=0;
   
    while(((char)9)!=ch&&('%'!=ch))
    {      
      apple[count]=ch;
//      printf("%c",apple[count]);   //ok
      ++count;
      ch=fgetc(fp1);
    }//whileover                   //ok
   
   
//    printf("%ld ",ftell(fp1));
    if(0==(memcmp(apple,pear[5],4))) //ok
    {
//      printf("compare right!");     //ok
      for(i=0;i<=count-4;++i)
      {
        apple[i]=apple[i+5];
      }
      fwrite(apple,count-4,1,fp4);   //第一字段信息已輸出
      fputc((char)9,fp4);
//      ++j;
      
//      if(j>=3)  break;
      }//ifover
    memset(apple,0,sizeof(apple));
//    printf("not found!\n");
//    if(j>=3)  break;
//    while(i>totalsize-10) break;
   
    ch=fgetc(fp1);
  }//whileover
//   fputc('\t',fp4);  // writer into sql3.txt
/*   rewind(fp1);
   ch=fgetc(fp1);
  while('%'!=ch)

  {
   
    count=0;
   
    while(((char)9)!=ch&&('%'!=ch))
    {      
      apple[count]=ch;
//      printf("%c",apple[count]);   //ok
      ++count;
      ch=fgetc(fp1);
    }//whileover                   //ok
   
   
//    printf("%ld ",ftell(fp1));
    if(0==(memcmp(apple,pear[6],4))) //ok
    {
      printf("compare right!");     //ok
      for(i=0;i<=count-4;++i)
      {
        apple[i]=apple[i+5];
      }
      fwrite(apple,count-4,1,fp4);  */ //第一字段信息已輸出
      fputc((char)9,fp4);
      fputc((char)9,fp4);
      fputc((char)9,fp4);
      fputc((char)9,fp4);
//      fputc((char)9,fp4);
//      ++j;
      
//      if(j>=3)  break;
/*      }//ifover
    memset(apple,0,sizeof(apple));
//    printf("not found!\n");
//    if(j>=3)  break;
    while(i>totalsize-10) break;
   
   
  }//whileover*/
ch=fgetc(fp1);
//  fputc('\n',fp2);
}//oversearch




int main(void)
{
  FILE *fp1,*fp2,*fp3,*fp4;
 
  if(NULL==(fp1=fopen("test.txt","at+")))
  {
       printf("cannot write the file\n");
       exit(0);
  }
  if(NULL==(fp2=fopen("sql1.txt","at+")))
  {
       printf("cannot write the file\n");
       exit(0);
  }
  if(NULL==(fp3=fopen("sql2.txt","at+")))
  {
       printf("cannot write the file\n");
       exit(0);
  }
  if(NULL==(fp4=fopen("sql3.txt","at+")))
  {
       printf("cannot write the file\n");
       exit(0);
  }
  
   
   search(fp1,fp2,fp3,fp4);
   

   
   fclose(fp2);
   fclose(fp3);
   fclose(fp4);
   fclose(fp1);
   return 0;
}
搜索更多相关主题的帖子: 信息 written include search 记忆体 
2011-09-19 11:30
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 2楼 hellovfp
您好!照着你的改过了,问题还存在,能讲清楚一点么?
2011-09-19 11:53
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 4楼 TonyDeng
能不能给个邮箱我,整个程序的资料传给你,万分感激!
2011-09-19 12:03
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 6楼 hellovfp
我也是用VC++6.0编译的,编译的时候没错,运行的时候显示("0x00401138"指令参考的"0x00130000"记忆体。该记忆体不能为“written.”),第一次运行的时候程序是可以通过的,但第二天就不行了,是不是内存溢出了?
2011-09-19 13:19
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 6楼 hellovfp
就改了上面你说的那一个吗?
2011-09-19 13:28
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 10楼 hellovfp
您就改了您在二楼写的那个错误吗?
2011-09-19 13:46
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 12楼 hellovfp
您是高手啊,小弟佩服!能不能给一个邮箱,我把程序要实现的功能和代码发给你?希望你给点建议!
2011-09-19 14:03
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 14楼 TonyDeng
是mp3的,我的有一个程序调试不通过,就是我在贴子上说的问题,请教一下是什么原因!
2011-09-19 15:47
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 16楼 TonyDeng
运行完dir这个程序之后,输入MP3的路径就能在MP3的文件夹中得到TEXT文件,现在我也不知道问题出现在哪,初步认为是内存溢出!
2011-09-19 16:15
retsingle
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-9-19
收藏
得分:0 
回复 16楼 TonyDeng
您编辑的时候是不是跟12楼说的一样,改变一个地方就可以运行了?
2011-09-19 16:22
快速回复:高手求助~~编译出错,记忆体不能written,请指出问题所在!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018686 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved