首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 庫函數詳解:strlwr — 字符串小寫轉換

     編輯:關於C語言

函數原型

char *strlwr(char *s);

所需頭文件

#include <string.h>

非 ANSI/ISO C 標準,屬 Microsoft/Borland 擴展。

功能描述

將字符串 s 中所有大寫字母轉換為小寫。非字母字符不變。原地修改緩衝區。

返回值

返回指向 s 的指針。

示例代碼


// strlwr.c
#include <stdio.h>
#include <string.h>

int main() {
    char s[] = "Copywrite 1999-2000 GGV Technologies"; // 必須用數組
    printf("原始: %s\n", s);
    strlwr(s);
    printf("轉換: %s\n", s); // copywrite 1999-2000 ggv technologies
    return 0;
}

關鍵注意事項

  1. 不可修改字符串常量:同 strupr,傳入 char* 指向常量區會崩潰。
  2. 區域設置敏感:受 LC_CTYPE 影響,多字節編碼環境下行為不可預期。
  3. 非標準:跨平台請用標準 tolower() 循環。

標準 C 實現


#include <ctype.h>
void my_strlwr(char *s) {
    while (*s) { *s = tolower((unsigned char)*s); s++; }
}

相關函數

  • strupr:小寫轉大寫(同屬非標準)。
  • tolower/toupper:標準單字符轉換 (ctype.h)。

總結

strlwr 是 strupr 的對應函數,同樣非標準、有風險。生產代碼請使用標準 tolower() 循環或 C++ std::transform。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved