How to convert part of a string between two indexes to lowercase in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <ctype.h>
   
void convert_part_to_lowercase(char s[], int idx_from, int idx_to) { 
    if (idx_from < 0 || idx_to > strlen(s)) return;
             
    for (int i = 0; i < strlen(s); i++) {
         if ((i >= idx_from && i <= idx_to) && (s[i] >= 'A' && s[i] <= 'Z')) {
             s[i] = tolower(s[i]);
         }
    }
}
int main() 
{                       
    char s[] = "C PROGRAMMING"; 
      
    convert_part_to_lowercase(s, 3, 5);
    puts(s);
      
    convert_part_to_lowercase(s, 8, 9);
    puts(s);
       
    return 0; 
} 
    
    
    
/*
run:
    
C ProgRAMMING
C ProgRAmmING
    
*/

 



answered Nov 12, 2019 by avibootz
edited Nov 16, 2019 by avibootz
...