strupr函數用來將指向的字符串全部轉換為大寫的形式
strlwr函數則用來將指向的字符串全部轉換為小寫的形式
實現這樣兩個函數也比較簡單
還是先貼代碼出來
首先是strupr函數:
~~~
// 字符全部轉換為大寫
char* _strupr_d(char* src)
{
while (*src != '\0')
{
if (*src >= 'a' && *src <= 'z')
//在ASCII表里大寫字符的值比對應小寫字符的值小32.
//*p -= 0x20; // 0x20的十進制就是32
*src -= 32;
src++;
}
return src;
}
~~~
這里面注釋已經寫得很清楚了,相應的,如果要轉換成小寫的,+=32就行了,下面是strlwr函數的實現:
~~~
// 字符全部轉換為小寫
char* _strlwr_d(char* src)
{
while (*src != '\0')
{
if (*src > 'A' && *src <= 'Z'){
//*src += 0x20;
*src += 32;
}
src++;
}
return src;
}
~~~
然后通過函數調用可以試試效果:
~~~
int main()
{
char *p = "Neusoft";
char k[256];
// 字符串全部轉成大寫
_strupr_d(k);
// 字符串轉換成小寫
//_strlwr_d(k);
cout << k <<endl;
system("pause");
return 0;
}
~~~
下面把效果貼出來:


效果還是有的,功能就實現了,比較簡單。
下面附出ASCII表附出來,這樣看來更清晰,理解更快。

大寫的A對應的是65,小寫的a對應的是97,相差就是32。
- 前言
- C++讀取配置文件
- 結構體內存對齊后所占內存空間大小的計算
- do{}while(0)的妙用
- Cocos2dx實現翻牌效果(CCScaleTo與CCOrbitCamera兩種方式)
- C++的error LNK2019: 無法解析的外部符號編譯錯誤
- Java使用JNI調用C++的完整流程
- strupr與strlwr函數的實現
- strcat函數實現
- Windows上VS使用pthread重溫經典多線程賣票(pthreads-w32-2-8-0-release.exe)(windows上使用pthread.h)
- pthread的pthread_join()函數理解實驗
- 順序存儲結構和鏈式存儲結構的選擇
- C語言冒泡排序
- VS看反匯編、寄存器、內存、堆棧調用來學習程序設計
- 快速排序
- C++的構造函數初始化列表
- fatal error C1083: 無法打開包括文件: “SDKDDKVer.h”: No such file or directory
- C++實現簡單的String類