【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;
}



【C语言天天练(十七)】字符/字符串输出函数fputc、fputs、putc、putchar和puts,布布扣,bubuko.com

【C语言天天练(十七)】字符/字符串输出函数fputc、fputs、putc、putchar和puts

上一篇:闲来看看View.java的Developer Guides


下一篇:Effective C++:条款33:避免遮掩继承而来的名称