How to trim whitespace (leading and trailing) from a string in C

1 Answer

0 votes
#include <stdio.h>
#include <ctype.h>
#include <string.h>
  
void trim_whitespace(char *s) {
  
  while (isspace((unsigned char)*s)) {
      strcpy(s , s + 1);
  }
    
  if (*s == 0)  
    return;
  
  char *end_s = s + strlen(s) - 1;
    
  while (end_s > s && isspace((unsigned char)*end_s)) end_s--;
  
  end_s[1] = '\0';
}
   
int main() {
    char s[50] = "    c python c++ java php   ";
 
    trim_whitespace(s);
      
    puts(s);
}
   
  
  
   
/*
run:
    
c python c++ java php
  
*/

 



answered Apr 3, 2019 by avibootz
edited Apr 4, 2019 by avibootz

Related questions

3 answers 436 views
1 answer 214 views
1 answer 179 views
1 answer 185 views
1 answer 180 views
1 answer 109 views
...