#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //stdin:标准输入文件指针,系统分配为键盘。 //stdout:标准输出文件指针,系统分配为显示器。 //stderr:标准错误输出文件指针,系统分配为显示器。 //stderr和stdout分配的都是显示器,但是stdout可以重定向输出到别的文件中,而stderr只能输出到显示器上,不可以重定向 void main(){ printf(" ----------fprintf----------------- "); printf("舞榭歌台风流总被雨打风吹去! "); fprintf(stdout,"舞榭歌台风流总被雨打风吹去! "); //显示器当作一个文件来操作 //printf就是fprintf的特例,printf只能输出到显示器上,而fprintf可以往任何文件输出 printf(" -----------fputs---------------- "); puts("琼楼玉宇,高处不甚寒! ");//输出字符串 fputs("琼楼玉宇,高处不甚寒! ", stdout); //puts就是fputs的特例,puts只能输出到显示器上,而fputs可以往任何文件输出 printf(" -----------fputc---------------- "); putchar('A');//输出一个字符 printf(" "); fputc('A', stdout); printf(" "); //putchar就是fputc的特例,putchar只能输出到显示器上,而fputc可以往任何文件输出 printf(" -----------fscanf---------------- "); /*int num = 0; scanf("%d",&num); printf("num==%d ",num); int numA = 0; fscanf(stdin,"%d", &numA); printf("numA==%d ", numA);*/ //scanf就是fscanf的特例,scanf只能扫描键盘,而fscanf可以扫描任意文件 printf(" -----------gets---------------- "); //char str1[30] = {0}; ////gets(str1);//获取键盘输入的字符串,存储到str1中 //fgets(str1, sizeof(str1)-1, stdin);//可以通过任何文件读取字符串, ////fgets(数组指针,字符串的长度,显示器);sizeof(str1)-1是因为要去掉字符串末尾的' ' //fputs(str1, stdout); //gets就是fgets的特例 printf(" -----------getchar---------------- "); //char ch = ' '; ////ch = getchar();//getchar()从键盘缓冲区获取一个字符,存入变量 //ch = fgetc(stdin);//fgetc可以从任意文件获取一个字符 //fputc(ch, stdout); //getchar就是fgetc的特例 printf(" -----------_getw---------------- "); //宽字符文件操作函数 int w = _getw(stdin);//_getw()每次必须获取4个字节 //_getw()如果输入少于4个字节,他会一直等待---特别注意,回车符也是算一个字符的 _putw(w,stdout);//_putw()没出会输出四个字节,不足的以空字符处理 //_getw()获取2个汉字,1个汉字2字节,int用于装载两个汉字的二进制 system("pause"); }