1)全部轉(zhuǎn)成大寫---strupr
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都網(wǎng)站制作與策劃設計,文峰網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設十年,網(wǎng)設計領(lǐng)域的專業(yè)建站公司;建站業(yè)務涵蓋:文峰等地區(qū)。文峰做網(wǎng)站價格咨詢:18982081108
函數(shù)原型:char*strupr(char*src)
函數(shù)說明:將字符串src轉(zhuǎn)換成大寫形式,只轉(zhuǎn)換src中出現(xiàn)的小寫字母,不改變其他字符
返回值:返回指向src的指針。
2)全部轉(zhuǎn)成小寫---strlwr
函數(shù)原型:char*strlwr(char*src)
函數(shù)說明:將字符串src轉(zhuǎn)換成小寫形式,只轉(zhuǎn)換src中出現(xiàn)的大寫字母,不改變其他字符
返回值:返回指向src的指針。
如果是日常使用, 那么可以考慮直接調(diào)用ctype.h里定義的函數(shù)
int tolower(int c);
如果是想自己實現(xiàn), 那么要先判斷c是否確實是大寫字母('A'=c 'Z'=c), 然后再轉(zhuǎn)換c += 'a'-'A', 注意這里'a'-'A'其實等于32, 而不是26
char strcase_switch(char* string)
{
int i;
for (i = 0; string[i] != '\0'; i++)
{
if (string[i] = 'a' string[i] = 'z')
{
string[i] = string[i] - 32;
}
if (string[i] = 'A' string[i] = 'Z')
{
string[i] = string[i] + 32;
}
}? ?
return string[i];
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[] = "abcdefGHIJK";
cout strcase_switch(str) endl;
return 0;
}
擴展資料:
char用法:
C語言中char用于定義字符類型變量或字符指針變量,例如“char a;”則定義了變量a是字符類型,“char*a;”則定義了變量a是字符指針類型。
char是C語言整型數(shù)據(jù)中比較古怪的一個,其它的如int/long/short等不指定signed/unsigned時都默認是signed,但char在標準中不指定為signed/unsigned,編譯器可以實現(xiàn)為帶符號的,也可以實現(xiàn)為不帶符號的。
關(guān)于char還有一個特殊的語言就是char*,它在C語言中有專門的語義,既不同于signed char*,也不同于unsigned char*,專門用于指以'\0'為結(jié)束的字符串。
#includestdio.h
int main()
{
int a;
char ch;
scanf("%d",a);
ch=a;
printf("%c",ch);
return 0;
}
擴展資料
#include stdio.h
int main()
{
char x,y;
scanf("%c",x);
y=x-32;
printf("%c",y);
return 0;
}
1.函數(shù)名: stpcpy
功 能: 拷貝一個字符串到另一個
2.函數(shù)名: strcat
功 能: 字符串拼接函數(shù)
3.函數(shù)名: strchr
功 能: 在一個串中查找給定字符的第一個匹配之處\
4.函數(shù)名: strcmp
功 能: 串比較
5.函數(shù)名: strncmpi
功 能: 將一個串中的一部分與另一個串比較, 不管大小寫
6.函數(shù)名: strcpy
功 能: 串拷貝
7.函數(shù)名: strcspn
功 能: 在串中查找第一個給定字符集內(nèi)容的段
8.函數(shù)名: strdup
功 能: 將串拷貝到新建的位置處
9.函數(shù)名: stricmp
功 能: 以大小寫不敏感方式比較兩個串
10.函數(shù)名: strerror
功 能: 返回指向錯誤信息字符串的指針
11函數(shù)名: strcmpi
功 能: 將一個串與另一個比較, 不管大小寫
12函數(shù)名: strncmp
功 能: 串比較
13函數(shù)名: strncmpi
功 能: 把串中的一部分與另一串中的一部分比較, 不管大小寫
14函數(shù)名: strncpy
功 能: 串拷貝
15函數(shù)名: strnicmp
功 能: 不注重大小寫地比較兩個串
16函數(shù)名: strnset
功 能: 將一個串中的所有字符都設為指定字符
17函數(shù)名: strpbrk
功 能: 在串中查找給定字符集中的字符
18函數(shù)名: strrchr
功 能: 在串中查找指定字符的最后一個出現(xiàn)
19函數(shù)名: strrev
功 能: 串倒轉(zhuǎn)
20函數(shù)名: strset
功 能: 將一個串中的所有字符都設為指定字符
21函數(shù)名: strspn
功 能: 在串中查找指定字符集的子集的第一次出現(xiàn)
22函數(shù)名: strstr
功 能: 在串中查找指定字符串的第一次出現(xiàn)
23函數(shù)名: strtod
功 能: 將字符串轉(zhuǎn)換為double型值
24函數(shù)名: strtok
功 能: 查找由在第二個串中指定的分界符分隔開的單詞
25函數(shù)名: strtol
功 能: 將串轉(zhuǎn)換為長整數(shù)
26函數(shù)名: strupr
功 能: 將串中的小寫字母轉(zhuǎn)換為大寫字母
27函數(shù)名: swab
功 能: 交換字節(jié)
有三種方式可以解決c語言大小寫字母的轉(zhuǎn)換
1.使用C語言提供的函數(shù):toupper(),tolower()
使用這兩個函數(shù)需要引入頭文件:#includectype.h
示例代碼:
輸入如下
2.自己編寫轉(zhuǎn)換函數(shù):
因為大小寫之間的ASCII碼值的差值是固定的,因此可以使用‘a(chǎn)’-‘A’來獲取差值。
實例代碼:
輸出如下:
3.異或0x20來實現(xiàn)轉(zhuǎn)換:
0x20是16進制,表示為2進制是00100000,這樣可能還是不明顯,轉(zhuǎn)換為10進制,其實就是32
對了,還是利用32.
異或:相同為0,不同為1. ?也就是說,任何數(shù)字與0異或都是它本身。
所以將其他位都設為0,把第6位(從左向右)設置為1,也就是0x20
如果第6位是1,則異或結(jié)果為0.
如果第6位是0,則異或結(jié)果為1.
實現(xiàn)了加減32的操作。
示例代碼:
輸入如下:
希望可以幫到你。。。