Character Stufing

Go4Expert Member
4Apr2010,21:53   #1
bsudhir6's Avatar
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
Pro contributor
5Apr2010,02:29   #2
virxen's Avatar
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.
Go4Expert Member
5Apr2010,06:37   #3
bsudhir6's Avatar
Okay sir
Go4Expert Member
5Apr2010,06:39   #4
bsudhir6's Avatar
Sir i want to know when the return types to main functions are must be changed
Go4Expert Member
5Apr2010,06:44   #5
bsudhir6's Avatar
But sir I don't need to chang the values of i,l???
Go4Expert Member
5Apr2010,06:46   #6
bsudhir6's Avatar
Means i=i+8,l=l+4
Mentor
5Apr2010,14:13   #7
xpi0t0s's Avatar
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.