แปลงเป็นตัวพิมพ์ใหญ่ (Uppercase)
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
int i;
printf("\nEnter a string : ");
fgets(s, sizeof(s), stdin);
s[strcspn(s, "\n")] = 0;
for (i = 0; s[i] != '\0'; i++) {
if (s[i] >= 'a' && s[i] <= 'z')
s[i] = s[i] - 32; // ASCII: 'a'=97, 'A'=65 diff=32
}
printf("\nString in Upper Case = %s", s);
return 0;
}
ผลลัพธ์
Enter a string : hello world!
String in Upper Case = HELLO WORLD!
แปลงเป็นตัวพิมพ์เล็ก (Lowercase)
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
int i;
printf("\nEnter a string : ");
fgets(s, sizeof(s), stdin);
s[strcspn(s, "\n")] = 0;
for (i = 0; s[i] != '\0'; i++) {
if (s[i] >= 'A' && s[i] <= 'Z')
s[i] = s[i] + 32;
}
printf("\nString in Lower Case = %s", s);
return 0;
}
ผลลัพธ์
Enter a string : HELLOWORLD
String in Lower Case = helloworld
วิธีมาตรฐาน (แนะนำ)
ใช้ฟังก์ชันจาก <ctype.h> รองรับ Locale และปลอดภัยกว่า:
#include <ctype.h>
// Uppercase
s[i] = toupper((unsigned char)s[i]);
// Lowercase
s[i] = tolower((unsigned char)s[i]);
C++ ใช้ std::transform กับ ::toupper/::tolower