Home Forums C Programming how to swap a string Reply To: how to swap a string


Unless you are saving the source to the include directory and compiling from thereof, you need the brackets “<" & ">” around the include headers, not just quotes. Also, I am pretty sure he wasnt looking for a program to print two strings to output, Im pretty sure he was looking to get the string the user wanted to “swap” and then “swap” it.
Im not sure quite how you mean. A program would have to use some major heuristics to be able to decipher something of that sort. Maybe you are talking about something that would do something like this:
“hello im a string” 
“string a im hello”

If that is so then you can use strtok() to truncate the string to whitespace then print them in reverse order. If you wish to not use the library functions to reverse the string itself, you can write a strtok() function yourself and use it that way. Mainly, you would have to use homebrew functions to do the work for you, lets see if i can dig up some source code I may have laying around somewhere…
Ok here are some examples of the functions, I dont remember who wrote them but I guess they work… I have never used them so dont expect anything great…

#define NULL '';
// my strcmp() function
int mCmp(char *f, char *s)
 if (f==s)
  return 0;
 return 1;
// my string length
int mslen(char *ch)
 char[] bf = ch;
 int y=0;
 }while (bf[y]!=NULL);
 return y;
//my strtok() example
char* mstrtok(char *first, const char *sec)
 char[] buff; //first buffer
 char[] buf; //second buffer
 buff = first; // initialize first buffer
 buf[0]=buff[0]; // initialize second
 for (int x=0;x  {
  if (mCmp(buff[x],(char *)sec)
   return &buf; // if our next character equals the control character we will end and return buf
  buf[x]=buff[x];//copy next bit
 //if this point should be reached then return the string
 return &buf;
// my concat example - strcat()
char* mconcat(char *fir, char *sec)
 int y=0;
 for (int x = 0;x  {
  if (fir[x]==NULL)
   for (y=0;y     x++;fir[x] = sec[y];
   return fir;