04 C String

字符串函数

输入

fgets()函数(和fputs()

#define STLEN 14
char words[STLEN];
fgets(words, STLEN, stdin);
fputs(words, stdout);
/*
in:apple pie\n 
store:apple pie\n\0
out:apple pie

in:strawberry shortcake\n
store:strawberry sh\0
out:strawberry sh
*/
  • 若指定 \(n\) 个字符,则读入 \(n-1\) 个或遇到换行符停止
  • fgets()字符串末尾会添上\0,遇到换行符会保留,而gets()会舍弃
  • fputs()在字符串末尾不添加换行符,而puts()会添加
  • 读到文件结尾返回空指针,可用 NULL 代替

输出

puts() 函数

char str1[80] = "An array was initialized to me.";
const char * str2 = "A pointer was initialized to me.";
puts("I'am an argument to puts().");
puts(str1);
puts(str2);
puts(&str1[5]);
puts(str2 + 4);
/*put:
I'm an argument to puts().
An array was initialized to me.
A pointer was initialized to me.
ray was initialized to me.
inter was initialized to me.
*/

fputs() 函数

while (fgets(line, 81, stdin))//读到文件结尾返回空指针,求值为0,结束循环
    fputs(line, stout);

字符串函数

头文件string.h

函数
strlen(str) 统计字符串长度
strcat(str1,str2) 拼接字符串 str2 拼接在 str1 后,返回 str1 地址
strncat(str1,str2,len) 拼接字符串 限定添加最大字符数len
strcmp(str1,str2) 按字典序比较字符串 str1 字典序大于 str2 时返回正值
strncmp(str1,str2,n) 按字典序比较字符串 比较前 \(n\) 个字符
strcpy(str1,str2) 拷贝字符串 将 str2 拷贝至 str1 中,返回第一个参数地址
strncpy(str1,str2,n) 拷贝字符串 拷贝 \(n\) 个字符,应在末尾手动添加空字符
sprintf(str," ", ) 将数据写入字符串 第一个参数为目标字符串,其余与 printf
strchr(str,ch) 查找字符 返回 str 中首次出现 ch 的指针,否则返回空指针
strstr(str1,str2) 查找字符串 返回 str1 中首次出现 str2 的指针,否则返回空指针
posted @ 2025-04-11 16:32  YamadaRyou  阅读(8)  评论(0)    收藏  举报