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 的指针,否则返回空指针 |

浙公网安备 33010602011771号