Character Stufing

bsudhir6's Avatar, Join Date: Apr 2010
Go4Expert Member
I wrote a C program implementing charecter stuffing i'm providing a file contains everything i've followed to write the program i need someone solve the errors

Charecter Stuffing.pdf
virxen's Avatar, Join Date: Nov 2009
Pro contributor
1) post your code properly and not to a locked pdf document(copy forbidden)
2) int main() never void!!!
3) printf("Enter the input string"); not prinft
4) for (i=4;i<l{
then you say tmp[i+3]==...
last value of i=l-1 so i+3=l-1+3=l+2
but l=strlen(temp) so last value of temp is temp[l-1]
all this result segmentation fault!
the correct for-->for (i=4;i<l-3;i++){


correct these errors,and post properly the new code for the rest.
bsudhir6's Avatar, Join Date: Apr 2010
Go4Expert Member
Okay sir
bsudhir6's Avatar, Join Date: Apr 2010
Go4Expert Member
Sir i want to know when the return types to main functions are must be changed
bsudhir6's Avatar, Join Date: Apr 2010
Go4Expert Member
But sir I don't need to chang the values of i,l???
bsudhir6's Avatar, Join Date: Apr 2010
Go4Expert Member
Means i=i+8,l=l+4
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Quote:
Originally Posted by bsudhir6 View Post
Sir i want to know when the return types to main functions are must be changed
Never. main always returns int, and you should return either the constant EXIT_SUCCESS, or the value 0, unless you have a good reason for doing otherwise (for example if you want to return an error code to a calling script).

There are exceptions for some compilers, for example the MikroElektronika compilers typically take void for main, but that's because there's nothing to return to: when main returns, the PIC chip has nothing else to do but halt. Maybe OS writers get to use void main too, for the same reason.

Valid main prototypes unless you have a good *technical* reason to use otherwise, are therefore:

int main()
int main(int argc)
int main(int argc, char **argv)
int main(int argc, char **argv, char **envp)

and you should always use one of these four.