-
Switch
This function should get input c then call correct function.
but only thing works is displayoption with character O.
I though I might wrote function call wrong, but the Q(quit) is not working also.
If I put letters other then O, it says "segmentation fault(Core Dumped)".
Code:
while(i>0)
{
gets(userinput); /* Get User Input */
/*Decode user input*/
decodeinput(userinput);
printf("C1= %c\n\n", c);
/* Led to correct Function */
switch(c)
{
case 'I': /* Insert */
InsertCharacter(buffer, input2);
DisplayBuffer(buffer);
break;
case 'F': /* Forward */
MoveCursorForward(buffer);
DisplayBuffer(buffer);
break;
case 'B': /* Backward */
MoveCursorBackward(buffer);
DisplayBuffer(buffer);
break;
case 'D': /* Delete */
DeleteCharacter(buffer, num);
DisplayBuffer(buffer);
break;
case 'J': /* Home */
MoveCursorToStart(buffer);
DisplayBuffer(buffer);
break;
case 'E': /* End */
MoveCursorToEnd(buffer);
DisplayBuffer(buffer);
break;
case 'C': /* Copy */
CopyFromBuffer(buffer, num);
DisplayBuffer(buffer);
break;
case 'P': /* Paste */
PasteIntoBuffer(buffer);
DisplayBuffer(buffer);
break;
case 'T': /* Cut */
CutFromBuffer(buffer, num);
DisplayBuffer(buffer);
break;
case 'O': /* Display User options again */
printf("\n");
displayoptions();
DisplayBuffer(buffer);
break;
case 'Q': /* Quit The program */
i=0;
break;
default:
printf("\nInvalid Command!\n\n");
DisplayBuffer(buffer);
break;
} /* End Switch */
}/* End While */
-
maybe decoding again?
hmm....
maybe decoding causes the error??
but the O works fine though..
still don't get it why this program display "segmentation fault(core dumped) error"
Code:
/* Decode User Input */
void decodeinput(char input[100])
{
char input3[100];
strcpy(input3,input); /* Copy input to input3 */
strupr(input3); /* Make command to upper case */
if('0' < input[0] && input[0] <'9')
num = input3;
else
{
c = input3[0]; /* Store first letter of array to a character c */
num = 0;
}
}