Topic: strcat


Author: mredford@impact.drexel.edu (Mike Redford)
Date: 27 Sep 1994 13:22:14 GMT
Raw View
Please somebody help identify my mistake here.
This is formating output for excel.
The strcat is over writing the first strcpy values.
What is the problem with strcat? why does it over write
the previous value? Any help will be appreciated.
Better still, if you can send your comments directly
to me. Thanks Mike

for(INDEX=0;INDEX<=80;INDEX++)
{

fscanf(ioptr,"%d %s %s %s %f\n",&number,&input1[INDEX-1][12],&input2[INDEX-1][12],&input3[INDEX-1][12],&input4);
        mymenu=INDEX;
        mmenu=INDEX;
        if(INDEX==0)
        {
           num1=0.0;
           diff2=input4;
           diff1=diff2;
           gcvt(diff2,sig,string);
        }
        else
        {
           num1=input4;
           diff2=num1-diff1;
           diff1=input4;
           gcvt(diff2,sig,string);
         }

              if (index==0)
               {

                switch (mmenu)
                  {
                     case 0:
                        strcpy(name0,string);
                        strcat(name0,",");
                        string[0]='\0';
                        break;
                        case 1:
                        strcpy(name1,string);
                        strcat(name1,",");
                        string[0]='\0';
                        break;
                        case 2:
                        strcpy(name2,string);
                        strcat(name2,",");
                        string[0]='\0';
                        break;
                        case 3:
                        strcpy(name3,string);
                        strcat(name3,",");
                        string[0]='\0';
                        break;
                        case 4:
                        strcpy(name4,string);
                        strcat(name4,",");
                        string[0]='\0';
                        break;
                        case 5:
                        strcpy(name5,string);
                        strcat(name5,",");
                        string[0]='\0';
                        break;
                        case 6:
                        strcpy(name6,string);
                        strcat(name6,",");
                        string[0]='\0';
                        break;
                        case 7:
                        strcpy(name7,string);
                        strcat(name7,",");
                        string[0]='\0';
                        break;
                        case 8:
                        strcpy(name8,string);
                        strcat(name8,",");
                        string[0]='\0';
                        break;
                        case 9:
                        strcpy(name9,string);
                        strcat(name9,",");
                        string[0]='\0';
                        break;
                        case 10:
                        strcpy(name10,string);
                        strcat(name10,",");
                        string[0]='\0';
                        break;
                        case 11:
                        strcpy(name11,string);
                        strcat(name11,",");
                        string[0]='\0';
                        break;
                        case 12:
                        strcpy(name12,string);
                        strcat(name12,",");
                        string[0]='\0';
                        break;
                        case 13:
                        strcpy(name13,string);
                        strcat(name13,",");
                        string[0]='\0';
                        break;
                        case 14:
                        strcpy(name14,string);
                        strcat(name14,",");
                        string[0]='\0';
                        break;
                        case 15:
                        strcpy(name15,string);
                        strcat(name15,",");
                        string[0]='\0';
                        break;
                        case 16:
                        strcpy(name16,string);
                        strcat(name16,",");
                        string[0]='\0';
                        break;
                        case 17:
                        strcpy(name17,string);
                        strcat(name17,",");
                        string[0]='\0';
                        break;
                        case 18:
                        strcpy(name18,string);
                        strcat(name18,",");
                        string[0]='\0';
                        break;
                        case 19:
                        strcpy(name19,string);
                        strcat(name19,",");
                        string[0]='\0';
                        break;
                        case 20:
                        strcpy(name20,string);
                        strcat(name20,",");
                        string[0]='\0';
                        break;
                        case 21:
                        strcpy(name21,string);
                        strcat(name21,",");
                        string[0]='\0';
                        break;
                        case 22:
                        strcpy(name22,string);
                        strcat(name22,",");
                        string[0]='\0';
                        break;
                        case 23:
                        strcpy(name23,string);
                        strcat(name23,",");
                        string[0]='\0';
                        break;
                        case 24:
                        strcpy(name24,string);
                        strcat(name24,",");
                        string[0]='\0';
                        break;
                        case 25:
                        strcpy(name25,string);
                        strcat(name25,",");
                        string[0]='\0';
                        break;
                        case 26:
                        strcpy(name26,string);
                        strcat(name26,",");
                        string[0]='\0';
                        break;
                        case 27:
                        strcpy(name27,string);
                        strcat(name27,",");
                        string[0]='\0';
                        break;
                        case 28:
                        strcpy(name28,string);
                        strcat(name28,",");
                        string[0]='\0';
                        break;
                        case 29:
                        strcpy(name29,string);
                        strcat(name29,",");
                        string[0]='\0';
                        break;
                        case 30:
                        strcpy(name30,string);
                        strcat(name30,",");
                        string[0]='\0';
                        break;
                        case 31:
                        strcpy(name31,string);
                        strcat(name31,",");
                        string[0]='\0';
                        break;
                        case 32:
                        strcpy(name32,string);
                        strcat(name32,",");
                        string[0]='\0';
                        break;
                        case 33:
                        strcpy(name33,string);
                        strcat(name33,",");
                        string[0]='\0';
                        break;
                        case 34:
                        strcpy(name34,string);
                        strcat(name34,",");
                        string[0]='\0';
                        break;
                        case 35:
                        strcpy(name35,string);
                        strcat(name35,",");
                        string[0]='\0';
                        break;
                        case 36:
                        strcpy(name36,string);
                        strcat(name36,",");
                        string[0]='\0';
                        break;
                        case 37:
                        strcpy(name37,string);
                        strcat(name37,",");
                        string[0]='\0';
                        break;
                        case 38:
                        strcpy(name38,string);
                        strcat(name38,",");
                        string[0]='\0';
                        break;
                        case 39:
                        strcpy(name39,string);
                        strcat(name39,",");
                        string[0]='\0';
                        break;
                        case 40:
                        strcpy(name40,string);
                        strcat(name40,",");
                        string[0]='\0';
                        break;
                        case 41:
                        strcpy(name41,string);
                        strcat(name41,",");
                        string[0]='\0';
                        break;
                        case 42:
                        strcpy(name42,string);
                        strcat(name42,",");
                        string[0]='\0';
                        break;
                        case 43:
                        strcpy(name43,string);
                        strcat(name43,",");
                        string[0]='\0';
                        break;
                        case 44:
                        strcpy(name44,string);
                        strcat(name44,",");
                        string[0]='\0';
                        break;
                        case 45:
                        strcpy(name45,string);
                        strcat(name45,",");
                        string[0]='\0';
                        break;
                        case 46:
                        strcpy(name46,string);
                        strcat(name46,",");
                        string[0]='\0';
                        break;
                        case 47:
                        strcpy(name47,string);
                        strcat(name47,",");
                        string[0]='\0';
                        break;
                        case 48:
                        strcpy(name48,string);
                        strcat(name48,",");
                        string[0]='\0';
                        break;
                        case 49:
                        strcpy(name49,string);
                        strcat(name49,",");
                        string[0]='\0';
                        break;
                        case 50:
                        strcpy(name50,string);
                        strcat(name50,",");
                        string[0]='\0';
                        break;
                        case 51:
                        strcpy(name51,string);
                        strcat(name51,",");
                        string[0]='\0';
                        break;
                        case 52:
                        strcpy(name52,string);
                        strcat(name52,",");
                        string[0]='\0';
                        break;
                        case 53:
                        strcpy(name53,string);
                        strcat(name53,",");
                        string[0]='\0';
                        break;
                        case 54:
                        strcpy(name54,string);
                        strcat(name54,",");
                        string[0]='\0';
                        break;
                        case 55:
                        strcpy(name54,string);
                        strcat(name55,",");
                        string[0]='\0';
                        break;
                        case 56:
                        strcpy(name56,string);
                        strcat(name56,",");
                        string[0]='\0';
                        break;
                        case 57:
                        strcpy(name57,string);
                        strcat(name57,",");
                        string[0]='\0';
                        break;
                        case 58:
                        strcpy(name58,string);
                        strcat(name58,",");
                        string[0]='\0';
                        break;
                        case 59:
                        strcpy(name59,string);
                        strcat(name59,",");
                        string[0]='\0';
                        break;
                        case 60:
                        strcpy(name60,string);
                        strcat(name60,",");
                        string[0]='\0';
                        break;
                        case 61:
                        strcpy(name61,string);
                        strcat(name61,",");
                        string[0]='\0';
                        break;
                        case 62:
                        strcpy(name62,string);
                        strcat(name62,",");
                        string[0]='\0';
                        break;
                        case 63:
                        strcpy(name63,string);
                        strcat(name63,",");
                        string[0]='\0';
                        break;
                        case 64:
                        strcpy(name64,string);
                        strcat(name64,",");
                        string[0]='\0';
                        break;
                        case 65:
                        strcpy(name65,string);
                        strcat(name65,",");
                        string[0]='\0';
                        break;
                        case 66:
                        strcpy(name66,string);
                        strcat(name66,",");
                        string[0]='\0';
                        break;
                        case 67:
                        strcpy(name67,string);
                        strcat(name67,",");
                        string[0]='\0';
                        break;
                        case 68:
                        strcpy(name68,string);
                        strcat(name68,",");
                        string[0]='\0';
                        break;
                        case 69:
                        strcpy(name69,string);
                        strcat(name69,",");
                        string[0]='\0';
                        break;
                        case 70:
                        strcpy(name70,string);
                        strcat(name70,",");
                        string[0]='\0';
                        break;
                        case 71:
                        strcpy(name71,string);
                        strcat(name71,",");
                        string[0]='\0';
                        break;
                        case 72:
                        strcpy(name72,string);
                        strcat(name72,",");
                        string[0]='\0';
                        break;
                        case 73:
                        strcpy(name73,string);
                        strcat(name73,",");
                        string[0]='\0';
                        break;
                        case 74:
                        strcpy(name74,string);
                        strcat(name74,",");
                        string[0]='\0';
                        break;
                        case 75:
                        strcpy(name75,string);
                        strcat(name75,",");
                        string[0]='\0';
                        break;
                        case 76:
                        strcpy(name76,string);
                        strcat(name76,",");
                        string[0]='\0';
                        break;
                        case 77:
                        strcpy(name77,string);
                        strcat(name77,",");
                        string[0]='\0';
                        break;
                        case 78:
                        strcpy(name78,string);
                        strcat(name78,",");
                        string[0]='\0';
                        break;
                        case 79:
                        strcpy(name79,string);
                        strcat(name79,",");
                        string[0]='\0';
                        break;
                        case 80:
                        strcpy(name80,string);
                        strcat(name80,",");
                        string[0]='\0';
                        break;
                   default :
                   printf("OK");
                   }//switch  mmenu at 0
               }   //if menu && index=0

             else
             {
              switch (mymenu)
                  {     case 0:
                        strcat(name0,string);
                        strcat(name0,",");
                        string[0]='\0';
                        case 1:
                        strcat(name1,string);
                        strcat(name1,",");
                        string[0]='\0';
                        break;
                        case 2:
                        strcat(name2,string);
                        strcat(name2,",");
                        string[0]='\0';
                        break;
                        case 3:
                        strcat(name3,string);
                        strcat(name3,",");
                        string[0]='\0';
                        break;
                        case 4:
                        strcat(name4,string);
                        strcat(name4,",");
                        string[0]='\0';
                        break;
                        case 5:
                        strcat(name5,string);
                        strcat(name5,",");
                        string[0]='\0';
                        break;
                        case 6:
                        strcat(name6,string);
                        strcat(name6,",");
                        string[0]='\0';
                        break;
                        case 7:
                        strcat(name7,string);
                        strcat(name7,",");
                        string[0]='\0';
                        break;
                        case 8:
                        strcat(name8,string);
                        strcat(name8,",");
                        string[0]='\0';
                        break;
                        case 9:
                        strcat(name9,string);
                        strcat(name9,",");
                        string[0]='\0';
                        break;
                        case 10:
                        strcat(name10,string);
                        strcat(name10,",");
                        string[0]='\0';
                        break;
                        case 11:
                        strcat(name11,string);
                        strcat(name11,",");
                        string[0]='\0';
                        break;
                        case 12:
                        strcat(name12,string);
                        strcat(name12,",");
                        string[0]='\0';
                        break;
                        case 13:
                        strcat(name13,string);
                        strcat(name13,",");
                        string[0]='\0';
                        break;
                        case 14:
                        strcat(name14,string);
                        strcat(name14,",");
                        string[0]='\0';
                        break;
                        case 15:
                        strcat(name15,string);
                        strcat(name15,",");
                        string[0]='\0';
                        break;
                        case 16:
                        strcat(name16,string);
                        strcat(name16,",");
                        string[0]='\0';
                        break;
                        case 17:
                        strcat(name17,string);
                        strcat(name17,",");
                        string[0]='\0';
                        break;
                        case 18:
                        strcat(name18,string);
                        strcat(name18,",");
                        string[0]='\0';
                        break;
                        case 19:
                        strcat(name19,string);
                        strcat(name19,",");
                        string[0]='\0';
                        break;
                        case 20:
                        strcat(name20,string);
                        strcat(name20,",");
                        string[0]='\0';
                        break;
                        case 21:
                        strcat(name21,string);
                        strcat(name21,",");
                        string[0]='\0';
                        break;
                        case 22:
                        strcat(name22,string);
                        strcat(name22,",");
                        string[0]='\0';
                        break;
                        case 23:
                        strcat(name23,string);
                        strcat(name23,",");
                        string[0]='\0';
                        break;
                        case 24:
                        strcat(name24,string);
                        strcat(name24,",");
                        string[0]='\0';
                        break;
                        case 25:
                        strcat(name25,string);
                        strcat(name25,",");
                        string[0]='\0';
                        break;
                        case 26:
                        strcat(name26,string);
                        strcat(name26,",");
                        string[0]='\0';
                        break;
                        case 27:
                        strcat(name27,string);
                        strcat(name27,",");
                        string[0]='\0';
                        break;
                        case 28:
                        strcat(name28,string);
                        strcat(name28,",");
                        string[0]='\0';
                        break;
                        case 29:
                        strcat(name29,string);
                        strcat(name29,",");
                        string[0]='\0';
                        break;
                        case 30:
                        strcat(name30,string);
                        strcat(name30,",");
                        string[0]='\0';
                        break;
                        case 31:
                        strcat(name31,string);
                        strcat(name31,",");
                        string[0]='\0';
                        break;
                        case 32:
                        strcat(name32,string);
                        strcat(name32,",");
                        string[0]='\0';
                        break;
                        case 33:
                        strcat(name33,string);
                        strcat(name33,",");
                        string[0]='\0';
                        break;
                        case 34:
                        strcat(name34,string);
                        strcat(name34,",");
                        string[0]='\0';
                        break;
                        case 35:
                        strcat(name35,string);
                        strcat(name35,",");
                        string[0]='\0';
                        break;
                        case 36:
                        strcat(name36,string);
                        strcat(name36,",");
                        string[0]='\0';
                        break;
                        case 37:
                        strcat(name37,string);
                        strcat(name37,",");
                        string[0]='\0';
                        break;
                        case 38:
                        strcat(name38,string);
                        strcat(name38,",");
                        string[0]='\0';
                        break;
                        case 39:
                        strcat(name39,string);
                        strcat(name39,",");
                        string[0]='\0';
                        break;
                        case 40:
                        strcat(name40,string);
                        strcat(name40,",");
                        string[0]='\0';
                        break;
                        case 41:
                        strcat(name41,string);
                        strcat(name41,",");
                        string[0]='\0';
                        break;
                        case 42:
                        strcat(name42,string);
                        strcat(name42,",");
                        string[0]='\0';
                        break;
                        case 43:
                        strcat(name43,string);
                        strcat(name43,",");
                        string[0]='\0';
                        break;
                        case 44:
                        strcat(name44,string);
                        strcat(name44,",");
                        string[0]='\0';
                        break;
                        case 45:
                        strcat(name45,string);
                        strcat(name45,",");
                        string[0]='\0';
                        break;
                        case 46:
                        strcat(name46,string);
                        strcat(name46,",");
                        string[0]='\0';
                        break;
                        case 47:
                        strcat(name47,string);
                        strcat(name47,",");
                        string[0]='\0';
                        break;
                        case 48:
                        strcat(name48,string);
                        strcat(name48,",");
                        string[0]='\0';
                        break;
                        case 49:
                        strcat(name49,string);
                        strcat(name49,",");
                        string[0]='\0';
                        break;
                        case 50:
                        strcat(name50,string);
                        strcat(name50,",");
                        string[0]='\0';
                        break;
                        case 51:
                        strcat(name51,string);
                        strcat(name51,",");
                        string[0]='\0';
                        break;
                        case 52:
                        strcat(name52,string);
                        strcat(name52,",");
                        string[0]='\0';
                        break;
                        case 53:
                        strcat(name53,string);
                        strcat(name53,",");
                        string[0]='\0';
                        break;
                        case 54:
                        strcat(name54,string);
                        strcat(name54,",");
                        string[0]='\0';
                        break;
                        case 55:
                        strcat(name54,string);
                        strcat(name55,",");
                        string[0]='\0';
                        break;
                        case 56:
                        strcat(name56,string);
                        strcat(name56,",");
                        string[0]='\0';
                        break;
                        case 57:
                        strcat(name57,string);
                        strcat(name57,",");
                        string[0]='\0';
                        break;
                        case 58:
                        strcat(name58,string);
                        strcat(name58,",");
                        string[0]='\0';
                        break;
                        case 59:
                        strcat(name59,string);
                        strcat(name59,",");
                        string[0]='\0';
                        break;
                        case 60:
                        strcat(name60,string);
                        strcat(name60,",");
                        string[0]='\0';
                        break;
                        case 61:
                        strcat(name61,string);
                        strcat(name61,",");
                        string[0]='\0';
                        break;
                        case 62:
                        strcat(name62,string);
                        strcat(name62,",");
                        string[0]='\0';
                        break;
                        case 63:
                        strcat(name63,string);
                        strcat(name63,",");
                        string[0]='\0';
                        break;
                        case 64:
                        strcat(name64,string);
                        strcat(name64,",");
                        string[0]='\0';
                        break;
                        case 65:
                        strcat(name65,string);
                        strcat(name65,",");
                        string[0]='\0';
                        break;
                        case 66:
                        strcat(name66,string);
                        strcat(name66,",");
                        string[0]='\0';
                        break;
                        case 67:
                        strcat(name67,string);
                        strcat(name67,",");
                        string[0]='\0';
                        break;
                        case 68:
                        strcat(name68,string);
                        strcat(name68,",");
                        string[0]='\0';
                        break;
                        case 69:
                        strcat(name69,string);
                        strcat(name69,",");
                        string[0]='\0';
                        break;
                        case 70:
                        strcat(name70,string);
                        strcat(name70,",");
                        string[0]='\0';
                        break;
                        case 71:
                        strcat(name71,string);
                        strcat(name71,",");
                        string[0]='\0';
                        break;
                        case 72:
                        strcat(name72,string);
                        strcat(name72,",");
                        string[0]='\0';
                        break;
                        case 73:
                        strcat(name73,string);
                        strcat(name73,",");
                        string[0]='\0';
                        break;
                        case 74:
                        strcat(name74,string);
                        strcat(name74,",");
                        string[0]='\0';
                        break;
                        case 75:
                        strcat(name75,string);
                        strcat(name75,",");
                        string[0]='\0';
                        break;
                        case 76:
                        strcat(name76,string);
                        strcat(name76,",");
                        string[0]='\0';
                        break;
                        case 77:
                        strcat(name77,string);
                        strcat(name77,",");
                        string[0]='\0';
                        break;
                        case 78:
                        strcat(name78,string);
                        strcat(name78,",");
                        string[0]='\0';
                        break;
                        case 79:
                        strcat(name79,string);
                        strcat(name79,",");
                        string[0]='\0';
                        break;
                        case 80:
                        strcat(name80,string);
                        strcat(name80,",");
                        string[0]='\0';
                        break;
                   default :
                   printf("OK");
                   }//switch
             }// else

   }//INDEX For fscanf


fclose(ioptr);




Author: snrwo1@xs1.xs4all.nl (snrwo1)
Date: 27 Sep 1994 21:43:16 GMT
Raw View
Is a switch statement with say 5 cases not enough to make your point?

Sorry, I cannot see what is wrong with the strcpy, strcat. I suggest you
run the program with a debugger to see what is actually happening when
strcat is executed.

--
Regards/vriendelijke groeten,

Rene Wonnink,
snrwo1@hacktic.nl