不用#include <ctype.h>
时间: 2024-11-29 22:13:23 浏览: 2
字符函数ctype.h应用举例-综合文档
如果你不想使用`<ctype.h>`库提供的`toupper`和`tolower`函数,你可以直接通过ASCII码值手动实现字符的大写和小写转换。以下是不依赖库函数的一个简单版本:
```c
#include <stdio.h>
char toUpperCase(char c) {
if ('a' <= c && c <= 'z') { // 判断字符是否为小写字母
return c - 32; // 小写转大写的ASCII差值
}
return c;
}
char toLowerCase(char c) {
if ('A' <= c && c <= 'Z') { // 判断字符是否为大写字母
return c + 32; // 大写转小写的ASCII差值
}
return c;
}
void titleCaseNoLib(char* str) {
if (*str != '\0') {
*str = toUpperCase(*str); // 转换首字母
for (int i = 1; str[i] != '\0'; i++) { // 遍历字符串剩余部分
str[i] = toLowerCase(str[i]); // 其他字符转为小写
}
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin);
// ...(同上一行去除换行符)
titleCaseNoLib(input);
printf("转换后的字符串: %s\n", input);
阅读全文