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

C語言常用字串處理函數大全:輸入輸出、連接、複製、比較、長度

     編輯:關於C語言
 

C 語言提供豐富字串函數,分為輸入、輸出、連接、修改、比較、轉換、複製、搜尋等類。使用前需包含 stdio.h (I/O) 或 string.h (其他)。

1. 字串輸出:puts

puts(字元陣列名);
  • 將字串輸出至螢幕,自動換行。
  • 支援跳脫字元(如 \n)。可用 printf 取代,格式化輸出用 printf。
char c[] = "BASIC\ndBASE";
puts(c); // 輸出兩行

2. 字串輸入:gets

gets(字元陣列名);
  • 從鍵盤讀取一行字串(含空格),以 Enter 結束,非空格結束。
  • 回傳陣列首址。
  • 注意:不檢查緩衝區長度,易造成溢位,現代建議用 fgets。
char st[15];
gets(st); puts(st); // 輸入 "hello world" 完整輸出

3. 字串連接:strcat

strcat(字元陣列1, 字元陣列2);
  • 將字串 2 接到字串 1 末尾,移除字串 1 結束符 \0。
  • 字元陣列 1 必須有足夠空間。
  • 回傳字元陣列 1 首址。
char st1[30] = "My name is ";
char st2[10];
gets(st2);
strcat(st1, st2);
puts(st1);

4. 字串複製:strcpy

strcpy(字元陣列1, 字元陣列2);
  • 將字串 2 複製到字串 1,含結束符 \0。
  • 字元陣列 2 可為字串常數,相當於指派。
  • 需確保目標空間足夠。
char st1[15], st2[] = "C Language";
strcpy(st1, st2);
puts(st1);

5. 字串比較:strcmp

strcmp(字元陣列1, 字元陣列2);
  • 依 ASCII 碼逐字元比較。
  • 回傳值:相等=0,字串1大>0,字串1小<0。
  • 亦可比較字串常數。
int k = strcmp(st1, st2);
if (k==0) printf("相等");
else if (k>0) printf("st1大");
else printf("st1小");

6. 字串長度:strlen

strlen(字元陣列名);
  • 回傳實際字串長度(不含 \0)。
char st[] = "C language";
int k = strlen(st); // k = 10

總結表

函數功能頭檔備註
puts輸出字串stdio.h自動換行
gets輸入字串stdio.h含空格,不安全
strcat連接字串string.h目標需足夠大
strcpy複製字串string.h含結束符
strcmp比較字串string.h依 ASCII 碼
strlen計算長度string.h不含 \0
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved