首页 > 代码库 > 【C语言天天练(十七)】字符/字符串输出函数fputc、fputs、putc、putchar和puts
【C语言天天练(十七)】字符/字符串输出函数fputc、fputs、putc、putchar和puts
#include <stdio.h>
int fputc(int c, FILE *stream);
int fputs(const char *s, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);
int puts(const char *s);
fputc()写一个字符c,强制转换成一个unsigned char类型字符,到文件stream。
fputs()写一个字符串到stream,省略字符串尾部的‘\0’。
putc()与fputc()相同,只是putc()是作为一个宏实现的。
putchar(c)等同于putc(c,stdout)。
puts()写一个字符串到标准输出stdout,并自动在字符串的尾部添加一个换行符"\n"。
返回值:fputc()、putc()和putchar()成功时返回要写的字符,失败返回EOF。
puts()和fputs()成功时返回一个非负数,失败返回EOF。
示例程序如下:
#include <stdio.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> int main(int argc, char **argv) { int tmp; char a = 'a'; char space = '\n'; char *str = "libing"; FILE *fp; fp = fopen("/work/tmp/c/txt", "w+");/*打开文件txt,并将文件指针赋值给fp,fp用于下面各个函数的参数*/ if(fp == NULL){ printf("open txt fail\n"); return -1; } /*fputc function test*/ tmp = fputc(a, stdout);/*字符a输出到标准输出,并将返回值赋值给tmp*/ fputc(space, stdout);/*fputc的输出只是输出字符,并不在后面添加换行符,我们需要自己手工添加*/ fputc(a, fp);/*字符a输出到文件指针fp指向的文件*/ fputc(space, fp); fputc(a, fp); fputc(space, fp); printf("tmp = %d\n", tmp);/*输出fputs函数的返回值,可以看出,它输出的是字符a的ASCII码*/ /*fputs function test*/ fputs(str, stdout);/*将str所指向的字符串输出到标准输出,注意,它不会在后面添加换行符*/ fputc(space, stdout); tmp = fputs(str, fp); fputc(space, fp);/*将str所指向的字符串输出到文件指针fp所指向的文件*/ printf("tmp = %d\n", tmp); /*putc function test*/ tmp = putc(a, stdout);/*<span style="font-size:18px;">putc()与fputc()相同</span>*/ putc(space, stdout); putc(a, fp); putc(space, fp); putc(a, fp); putc(space, fp); printf("tmp = %d\n", tmp); /*puchar function test*/ tmp = putchar(a);/*<span style="font-size:18px;">putchar(c)等同于putc(c,stdout)</span>*/ putchar(space); printf("tmp = %d\n", tmp); /*puts function test*/ puts(str);/*将str指针所指向的字符串输出到标准输出,并且会在字符串后自动添加换行符*/ return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。