Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Run time check failure

Run time check failure

Scheduled Pinned Locked Moved C / C++ / MFC
help
8 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    subramanyeswari
    wrote on last edited by
    #1

    This is the piece of code for which i am getting runtime error void read_all_pns_files( void ) { FILE *fp1, *fp2; char pns_name[12]; short int n, ret; A320_atp atp_a320; A330_atp atp_a330; B320_atp atp_b320; B330_atp atp_b330; D320_atp atp_d320; D330_atp atp_d330; F340_atp atp_f340; I320_ATP atp_i320; I330_ATP atp_i330; P320_ATP atp_p320; P330_ATP atp_p330; struct { char PARTNUMMER[40]; char AMENDMENT[2]; char MEN_FILE[13]; short int GERAET; }part; memset(pns_name,'\0',12); memset(part.PARTNUMMER,'\0',40); memset(part.AMENDMENT,'\0',2); memset(part.MEN_FILE,'\0',13); if((fp1=fopen("ALL_PNS.DAT", "wb")) != NULL) { for(n=0; n<11; n++) { sprintf(pns_name, "%s.PNS", check_name[n]); sprintf(part.MEN_FILE, "%s.MEN", check_name[n]); if((fp2=fopen(pns_name, "rb")) != NULL) { while(!feof(fp2)) { switch(n) { case 0: ret=fread(&atp_a320, sizeof(atp_a320), 1, fp2); strcpy(part.PARTNUMMER, atp_a320.PARTNUMMER); strcpy(part.AMENDMENT, atp_a320.AMENDMENT); break; case 1: ret=fread(&atp_a330, sizeof(A330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_a330.PARTNUMMER); strcpy(part.AMENDMENT, atp_a330.AMENDMENT); break; case 2: ret=fread(&atp_b320, sizeof(B320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b320.PARTNUMMER); strcpy(part.AMENDMENT, atp_b320.AMENDMENT); break; case 3: ret=fread(&atp_b330, sizeof(B330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b330.PARTNUMMER); strcpy(part.AMENDMENT, atp_b330.AMENDMENT); break; case 4: ret=fread(&atp_d320, sizeof(D320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d320.PARTNUMMER); strcpy(part.AMENDMENT, atp_d320.AMENDMENT); break; case 5: ret=fread(&atp_d330, sizeof(D330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d330.PARTNUMMER); strcpy(part.AMENDMENT, atp_d330.AMENDMENT); break; case 6: ret=fread(&atp_f340, sizeof(F340_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_f340.PARTNUMMER); strcpy(part.AMENDMENT, atp_f340.AMENDMENT); break; case 7: ret=fread(&atp_i320, sizeof(I320_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i320.PARTNUMMER); strcpy(part.AMENDMENT, atp_i320.Amendment); break; case 8: ret=fread(&atp_i330, sizeof(I330_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i330.PARTNUMMER); strcpy(part.AMENDMENT, atp_i330.Amendment);

    CPalliniC D M 3 Replies Last reply
    0
    • S subramanyeswari

      This is the piece of code for which i am getting runtime error void read_all_pns_files( void ) { FILE *fp1, *fp2; char pns_name[12]; short int n, ret; A320_atp atp_a320; A330_atp atp_a330; B320_atp atp_b320; B330_atp atp_b330; D320_atp atp_d320; D330_atp atp_d330; F340_atp atp_f340; I320_ATP atp_i320; I330_ATP atp_i330; P320_ATP atp_p320; P330_ATP atp_p330; struct { char PARTNUMMER[40]; char AMENDMENT[2]; char MEN_FILE[13]; short int GERAET; }part; memset(pns_name,'\0',12); memset(part.PARTNUMMER,'\0',40); memset(part.AMENDMENT,'\0',2); memset(part.MEN_FILE,'\0',13); if((fp1=fopen("ALL_PNS.DAT", "wb")) != NULL) { for(n=0; n<11; n++) { sprintf(pns_name, "%s.PNS", check_name[n]); sprintf(part.MEN_FILE, "%s.MEN", check_name[n]); if((fp2=fopen(pns_name, "rb")) != NULL) { while(!feof(fp2)) { switch(n) { case 0: ret=fread(&atp_a320, sizeof(atp_a320), 1, fp2); strcpy(part.PARTNUMMER, atp_a320.PARTNUMMER); strcpy(part.AMENDMENT, atp_a320.AMENDMENT); break; case 1: ret=fread(&atp_a330, sizeof(A330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_a330.PARTNUMMER); strcpy(part.AMENDMENT, atp_a330.AMENDMENT); break; case 2: ret=fread(&atp_b320, sizeof(B320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b320.PARTNUMMER); strcpy(part.AMENDMENT, atp_b320.AMENDMENT); break; case 3: ret=fread(&atp_b330, sizeof(B330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b330.PARTNUMMER); strcpy(part.AMENDMENT, atp_b330.AMENDMENT); break; case 4: ret=fread(&atp_d320, sizeof(D320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d320.PARTNUMMER); strcpy(part.AMENDMENT, atp_d320.AMENDMENT); break; case 5: ret=fread(&atp_d330, sizeof(D330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d330.PARTNUMMER); strcpy(part.AMENDMENT, atp_d330.AMENDMENT); break; case 6: ret=fread(&atp_f340, sizeof(F340_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_f340.PARTNUMMER); strcpy(part.AMENDMENT, atp_f340.AMENDMENT); break; case 7: ret=fread(&atp_i320, sizeof(I320_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i320.PARTNUMMER); strcpy(part.AMENDMENT, atp_i320.Amendment); break; case 8: ret=fread(&atp_i330, sizeof(I330_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i330.PARTNUMMER); strcpy(part.AMENDMENT, atp_i330.Amendment);

      CPalliniC Offline
      CPalliniC Offline
      CPallini
      wrote on last edited by
      #2

      Where does check_name[] come from? How is initialized? BTW enclose code in <pre> tags, for instance

      <pre>
      // code here
      </pre>

      :)

      If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
      [my articles]

      In testa che avete, signor di Ceprano?

      S 1 Reply Last reply
      0
      • CPalliniC CPallini

        Where does check_name[] come from? How is initialized? BTW enclose code in <pre> tags, for instance

        <pre>
        // code here
        </pre>

        :)

        If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
        [my articles]

        S Offline
        S Offline
        subramanyeswari
        wrote on last edited by
        #3

        static char check_name[12][5] = { "A320", "A330", "B320", "B330", "D320", "D330", "F340", "I320", "I330", "P320", "P330" }; this is how check_name is initialized.

        CPalliniC 1 Reply Last reply
        0
        • S subramanyeswari

          static char check_name[12][5] = { "A320", "A330", "B320", "B330", "D320", "D330", "F340", "I320", "I330", "P320", "P330" }; this is how check_name is initialized.

          CPalliniC Offline
          CPalliniC Offline
          CPallini
          wrote on last edited by
          #4

          OK, it looks fine. Now, could you please reformat OP code using <pre> tags?

          If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
          [my articles]

          modified on Friday, January 18, 2008 5:10:20 AM

          In testa che avete, signor di Ceprano?

          S 1 Reply Last reply
          0
          • CPalliniC CPallini

            OK, it looks fine. Now, could you please reformat OP code using <pre> tags?

            If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
            [my articles]

            modified on Friday, January 18, 2008 5:10:20 AM

            S Offline
            S Offline
            subramanyeswari
            wrote on last edited by
            #5

            what do you mena by OP code

            CPalliniC 1 Reply Last reply
            0
            • S subramanyeswari

              what do you mena by OP code

              CPalliniC Offline
              CPalliniC Offline
              CPallini
              wrote on last edited by
              #6

              The (long) code snippet of the original post. You may also repost it, correctly formatted, of course. :)

              If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
              [my articles]

              In testa che avete, signor di Ceprano?

              1 Reply Last reply
              0
              • S subramanyeswari

                This is the piece of code for which i am getting runtime error void read_all_pns_files( void ) { FILE *fp1, *fp2; char pns_name[12]; short int n, ret; A320_atp atp_a320; A330_atp atp_a330; B320_atp atp_b320; B330_atp atp_b330; D320_atp atp_d320; D330_atp atp_d330; F340_atp atp_f340; I320_ATP atp_i320; I330_ATP atp_i330; P320_ATP atp_p320; P330_ATP atp_p330; struct { char PARTNUMMER[40]; char AMENDMENT[2]; char MEN_FILE[13]; short int GERAET; }part; memset(pns_name,'\0',12); memset(part.PARTNUMMER,'\0',40); memset(part.AMENDMENT,'\0',2); memset(part.MEN_FILE,'\0',13); if((fp1=fopen("ALL_PNS.DAT", "wb")) != NULL) { for(n=0; n<11; n++) { sprintf(pns_name, "%s.PNS", check_name[n]); sprintf(part.MEN_FILE, "%s.MEN", check_name[n]); if((fp2=fopen(pns_name, "rb")) != NULL) { while(!feof(fp2)) { switch(n) { case 0: ret=fread(&atp_a320, sizeof(atp_a320), 1, fp2); strcpy(part.PARTNUMMER, atp_a320.PARTNUMMER); strcpy(part.AMENDMENT, atp_a320.AMENDMENT); break; case 1: ret=fread(&atp_a330, sizeof(A330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_a330.PARTNUMMER); strcpy(part.AMENDMENT, atp_a330.AMENDMENT); break; case 2: ret=fread(&atp_b320, sizeof(B320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b320.PARTNUMMER); strcpy(part.AMENDMENT, atp_b320.AMENDMENT); break; case 3: ret=fread(&atp_b330, sizeof(B330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b330.PARTNUMMER); strcpy(part.AMENDMENT, atp_b330.AMENDMENT); break; case 4: ret=fread(&atp_d320, sizeof(D320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d320.PARTNUMMER); strcpy(part.AMENDMENT, atp_d320.AMENDMENT); break; case 5: ret=fread(&atp_d330, sizeof(D330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d330.PARTNUMMER); strcpy(part.AMENDMENT, atp_d330.AMENDMENT); break; case 6: ret=fread(&atp_f340, sizeof(F340_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_f340.PARTNUMMER); strcpy(part.AMENDMENT, atp_f340.AMENDMENT); break; case 7: ret=fread(&atp_i320, sizeof(I320_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i320.PARTNUMMER); strcpy(part.AMENDMENT, atp_i320.Amendment); break; case 8: ret=fread(&atp_i330, sizeof(I330_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i330.PARTNUMMER); strcpy(part.AMENDMENT, atp_i330.Amendment);

                D Offline
                D Offline
                David Crow
                wrote on last edited by
                #7

                Have you used the debugger to single-step through the code to find the offending statement(s)?

                "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

                "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

                1 Reply Last reply
                0
                • S subramanyeswari

                  This is the piece of code for which i am getting runtime error void read_all_pns_files( void ) { FILE *fp1, *fp2; char pns_name[12]; short int n, ret; A320_atp atp_a320; A330_atp atp_a330; B320_atp atp_b320; B330_atp atp_b330; D320_atp atp_d320; D330_atp atp_d330; F340_atp atp_f340; I320_ATP atp_i320; I330_ATP atp_i330; P320_ATP atp_p320; P330_ATP atp_p330; struct { char PARTNUMMER[40]; char AMENDMENT[2]; char MEN_FILE[13]; short int GERAET; }part; memset(pns_name,'\0',12); memset(part.PARTNUMMER,'\0',40); memset(part.AMENDMENT,'\0',2); memset(part.MEN_FILE,'\0',13); if((fp1=fopen("ALL_PNS.DAT", "wb")) != NULL) { for(n=0; n<11; n++) { sprintf(pns_name, "%s.PNS", check_name[n]); sprintf(part.MEN_FILE, "%s.MEN", check_name[n]); if((fp2=fopen(pns_name, "rb")) != NULL) { while(!feof(fp2)) { switch(n) { case 0: ret=fread(&atp_a320, sizeof(atp_a320), 1, fp2); strcpy(part.PARTNUMMER, atp_a320.PARTNUMMER); strcpy(part.AMENDMENT, atp_a320.AMENDMENT); break; case 1: ret=fread(&atp_a330, sizeof(A330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_a330.PARTNUMMER); strcpy(part.AMENDMENT, atp_a330.AMENDMENT); break; case 2: ret=fread(&atp_b320, sizeof(B320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b320.PARTNUMMER); strcpy(part.AMENDMENT, atp_b320.AMENDMENT); break; case 3: ret=fread(&atp_b330, sizeof(B330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_b330.PARTNUMMER); strcpy(part.AMENDMENT, atp_b330.AMENDMENT); break; case 4: ret=fread(&atp_d320, sizeof(D320_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d320.PARTNUMMER); strcpy(part.AMENDMENT, atp_d320.AMENDMENT); break; case 5: ret=fread(&atp_d330, sizeof(D330_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_d330.PARTNUMMER); strcpy(part.AMENDMENT, atp_d330.AMENDMENT); break; case 6: ret=fread(&atp_f340, sizeof(F340_atp), 1, fp2); strcpy(part.PARTNUMMER,atp_f340.PARTNUMMER); strcpy(part.AMENDMENT, atp_f340.AMENDMENT); break; case 7: ret=fread(&atp_i320, sizeof(I320_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i320.PARTNUMMER); strcpy(part.AMENDMENT, atp_i320.Amendment); break; case 8: ret=fread(&atp_i330, sizeof(I330_ATP), 1, fp2); strcpy(part.PARTNUMMER,atp_i330.PARTNUMMER); strcpy(part.AMENDMENT, atp_i330.Amendment);

                  M Offline
                  M Offline
                  Member 754960
                  wrote on last edited by
                  #8

                  Comment #1: Try to remove "magic numbers" in the code. Comment #2: check_name is intialized with how many values? What happens in the following code if, by some chance, check_name[n] is a character string longer than 11?

                  char check_name[12][5];
                  char pns_name[12];

                  //...
                  sprintf(pns_name, "%s.PNS", check_name[n]);

                  Comment #3: Walk through code in the debugger. Use small numbers.

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • World
                  • Users
                  • Groups