C语言学习笔记——字符串操作( 四 )


puts()函数在遇到空字符\0时就会停止输出,因此必须确保有空字符 。一下为一个错误示例:
/*** nono_puts.c* puts()的错误示例** BUGGY*/#include int main(void) {char side_a[] = "Side A";char dont[] = {'O', 'h', ',', 'n', 'o', '!'};char side_b[] = "SIde B";puts(dont); /* WARNING: dont并不是一个字符串! */return 0;}
输出:
[root@gavinpan p2]# !../nono_puts Oh,no!Side A
fputs()函数
fputs()显示字符串时,不会在末尾添加换行符 。fputs()常与fgets()配对使用 。
使用示例:
/*** fputs()的使用*/#include int main(void) {fputs("A \"fputs()\" string\n", stdout);return 0;}
输出:
[root@gavinpan p2]# !../fputs1 A "fputs()" string
()函数
示例:
/* printf1.c --printf()函数使用 */#include int main(void) {printf("%d strings \"%s\" and \"%s\"\n", 2, "red", "blue");return 0;}
输出:
[root@gavinpan p2]# !../printf1 2 strings "red" and "blue"
自定义输入/输出函数
可以基于()和()自定义所需的函数 。
自定义输入的简单示例:
/* 自定义输出 */#include #define STLEN 10void get1(char *st, int len);int main(void) {char words[STLEN];printf("Enter your string:\n");get1(words, STLEN);printf("Your string is: %s\n", words);return 0;}void get1(char *st, int len) {int i;char c;for (i = 0; (c = getchar()) != '\n' && i < len - 1; i++) {st[i] = c;}st[i] = '\0';// 最后一位存储空字符if (c != '\n') {while (getchar() != '\n') {// 丢弃输入中的多余字符continue;}}
输出结果:
[root@gavinpan p2]# !../get1 Enter your string:WelcomeYour string is: Welcome[root@gavinpan p2]# !../get1 Enter your string:Your string is good.Your string is: Your stri
自定义输出简单示例:
/* put1.c -- 打印字符串, 不添加\n */#include void put1(const char *str1);int main(void) {char *str1 = "hello, world!";put1(str1);return 0;}void put1(const char *str1) {while (*str1) {putchar(*str1++);}}
输出结果:
[root@gavinpan p2]# !../put1 hello, world![root@gavinpan p2]#// 不添加换行符
Mark Done.
【C语言学习笔记——字符串操作】??